You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.4 KiB
94 lines
2.4 KiB
(*
|
|
* Copyright (c) 2017 - present Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*)
|
|
|
|
type analysis_issue =
|
|
{ bug_kind: string
|
|
; bug_type: string
|
|
; clang_method_kind: string option
|
|
; exception_triggered_location: Logging.ocaml_pos option
|
|
; lang: string
|
|
; procedure_name: string
|
|
; source_location: Location.t }
|
|
|
|
type analysis_stats =
|
|
{ analysis_nodes_visited: int
|
|
; analysis_status: SymOp.failure_kind option
|
|
; analysis_total_nodes: int
|
|
; clang_method_kind: string option
|
|
; lang: string
|
|
; method_location: Location.t
|
|
; method_name: string
|
|
; num_preposts: int
|
|
; symops: int }
|
|
|
|
type call_trace =
|
|
{ call_location: Location.t
|
|
; call_result: string
|
|
; callee_name: string
|
|
; caller_name: string
|
|
; lang: string
|
|
; reason: string option }
|
|
|
|
type frontend_exception =
|
|
{ ast_node: string option
|
|
; exception_triggered_location: Logging.ocaml_pos
|
|
; exception_type: string
|
|
; lang: string
|
|
; source_location_start: Location.t
|
|
; source_location_end: Location.t }
|
|
|
|
type mem_perf =
|
|
{ minor_heap_mem: float
|
|
; promoted_minor_heap_mem: float
|
|
; major_heap_mem: float
|
|
; total_allocated_mem: float
|
|
; minor_collections: int
|
|
; major_collections: int
|
|
; heap_compactions: int
|
|
; top_heap_size: int
|
|
; stack_size: int
|
|
; minor_heap_size: int }
|
|
|
|
type time_perf =
|
|
{ real_time: float
|
|
; user_time: float
|
|
; sys_time: float
|
|
; children_user_time: float
|
|
; children_sys_time: float }
|
|
|
|
type performance_stats =
|
|
{ lang: string
|
|
; source_file: SourceFile.t option
|
|
; stats_type: string
|
|
; mem_perf: mem_perf option
|
|
; time_perf: time_perf option }
|
|
|
|
type procedures_translated =
|
|
{ lang: string
|
|
; procedures_translated_failed: int
|
|
; procedures_translated_total: int
|
|
; source_file: SourceFile.t }
|
|
|
|
type event =
|
|
| AnalysisIssue of analysis_issue
|
|
| AnalysisStats of analysis_stats
|
|
| CallTrace of call_trace
|
|
| FrontendException of frontend_exception
|
|
| PerformanceStats of performance_stats
|
|
| ProceduresTranslatedSummary of procedures_translated
|
|
| UncaughtException of exn * int (** exception, exitcode *)
|
|
|
|
val get_log_identifier : unit -> string
|
|
|
|
val prepare : unit -> unit
|
|
|
|
val log : event -> unit
|
|
|
|
val dump : unit -> unit
|