Library
Module
Module type
Parameter
Class
Class type
core_profiler v0.12.0
Libraries
This package provides the following libraries (via dune):
core_profiler
Documentation:
Core_profiler.Check_environment
Core_profiler.Common
Core_profiler.Fstats
Core_profiler.Header_protocol
This file is automatically generated by a target in the build system. Do not modify it by hand.Core_profiler.Offline
Running a program with offline metrics collection causes it to write out a data file on exit. This data file is typically calledprofiler.dat
. The collected metrics can then be analyzed usingprofiler-tool.exe
.Core_profiler.Online
Use this module for online tracking of perf metrics. When using this module, the metrics are written out to stdout every second. There is no mertric file generated for offline analysis. The rate at which metrics are dumped to stdout is controlled by the environment variableCORE_PROFILER=PRINT_INTERVAL=N
whereN
is the integer number of seconds to wait between outputs.Core_profiler.Probe_id
Timer, Probe, Groups and Group points are all assigned globally uniqueId.t
s.Core_profiler.Probe_type
Core_profiler.Profiler_epoch
Time_ns
andTime
represents time since 1970 (the unix epoch). When writing out perf mertics, we don't have enough bits to express nanos since the unix epch. Instead we record an arbitrary point of time as theProfiler_epoch.t
. Times can be stored with respect to this epoch.Core_profiler.Protocol
Core_profiler.Std_offline
Core_profiler.Std_online
Dependencies: textutils.ascii_table, core, core_profiler.disabled, ppx_sexp_conv.runtime-lib, ppx_compare.runtime-lib, ppx_enumerate.runtime-lib, ppx_hash.runtime-lib, ppx_assert.runtime-lib, ppx_bench.runtime-lib, bin_prot, fieldslib, ppx_inline_test.runtime-lib, ppx_module_timer.runtime, typerep, variantslib, ppx_expect.collector, base, base_quickcheck
core_profiler.disabled
Documentation:
Core_profiler_disabled.Disabled
Every function inDisabled
compiles to a no-op with the least overhead possible. Also see comments inintf.ml
.Core_profiler_disabled.Intf
Core_profiler_disabled.Profiler_units
Units for the measurements made byCore_profiler
, used to get better output formatting. This has no performance implications.Core_profiler_disabled.Std
Dependencies: core, ppx_sexp_conv.runtime-lib, ppx_compare.runtime-lib, ppx_enumerate.runtime-lib, ppx_hash.runtime-lib, ppx_assert.runtime-lib, ppx_bench.runtime-lib, bin_prot, fieldslib, ppx_inline_test.runtime-lib, ppx_module_timer.runtime, typerep, variantslib, ppx_expect.collector, base, base_quickcheck
core_profiler.offline_tool
Documentation:
Core_profiler_offline_tool.Event_generator
Core_profiler_offline_tool.Filter
Core_profiler_offline_tool.Id_table
AnId_table.t
exploits the fact thatProbe_id.t
s should be consecutive integers to make lookups fastCore_profiler_offline_tool.Interest
Core_profiler_offline_tool.Path
The first and last points are stored explicitly, not least to ensure that there are two of them. The list of points in the middle is stored in reverse order for convenience when checking the path.Core_profiler_offline_tool.Reader
Core_profiler_offline_tool.Reservoir_sampling
Core_profiler_offline_tool.Std
Core_profiler_offline_tool.Util
Dependencies: core, re2, core_profiler, ppx_sexp_conv.runtime-lib, ppx_compare.runtime-lib, ppx_enumerate.runtime-lib, ppx_hash.runtime-lib, ppx_assert.runtime-lib, ppx_bench.runtime-lib, bin_prot, fieldslib, ppx_inline_test.runtime-lib, ppx_module_timer.runtime, typerep, variantslib, ppx_expect.collector, base, base_quickcheck