Commit 502a9a0d authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent b224b4f6
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
// See https://www.nexedi.com/licensing for rationale and options. // See https://www.nexedi.com/licensing for rationale and options.
/* /*
Package tracing provides runtime and usage support for Go tracing facilities. Package tracing provides usage and runtime support for Go tracing facilities.
Trace events Trace events
...@@ -46,8 +46,8 @@ However it is possible to attach probing functions to events. A probe, once ...@@ -46,8 +46,8 @@ However it is possible to attach probing functions to events. A probe, once
attached, is called whenever event is signalled in the context which triggered attached, is called whenever event is signalled in the context which triggered
the event and pauses original code execution until the probe is finished. It is the event and pauses original code execution until the probe is finished. It is
possible to attach several probing functions to the same event and dynamically possible to attach several probing functions to the same event and dynamically
detach/(re-)attach them. Attaching/detaching probes must be done under detach/(re-)attach them at runtime. Attaching/detaching probes must be done
tracing.Lock. For example: under tracing.Lock. For example:
type saidHelloT struct { type saidHelloT struct {
who string who string
...@@ -93,12 +93,17 @@ all at once using ProbeGroup: ...@@ -93,12 +93,17 @@ all at once using ProbeGroup:
pg.Done() pg.Done()
Probes is general mechanism which allows various kinds of trace events usage. Probes is general mechanism which allows various kinds of trace events usage.
Three ways particularly are well-established and handy: Three ways particularly are well-understood and handy:
- recording events stream
- profiling - profiling
- non-blocking tracing (asynchronously (?) recording event stream)
- synchronous tracing - synchronous tracing
Recording events stream
TODO
Profiling Profiling
A profile is (TODO aggregate summary of) a collection of stack traces showing the call sequences that led A profile is (TODO aggregate summary of) a collection of stack traces showing the call sequences that led
...@@ -114,11 +119,6 @@ XXX BUG not working? ...@@ -114,11 +119,6 @@ XXX BUG not working?
BUG(kirr): should tracing provide more tight integration with runtime/pprof.Profile? BUG(kirr): should tracing provide more tight integration with runtime/pprof.Profile?
Non-blocking tracing XXX name
TODO
Synchronous tracing Synchronous tracing
TODO TODO
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment