Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/bi-zone/etw
/ functions
Functions
70 in github.com/bi-zone/etw
⨍
Functions
70
◇
Types & classes
15
↓ 9 callers
Method
waitForSignal
waitForSignal waits for anything on @done no longer than @deadline. Fails test run if deadline exceeds.
session_test.go:269
↓ 8 callers
Function
NewSession
NewSession creates a Windows event tracing session instance. Session with no options provided is a usable session, but it could be a bit noisy. It's r
session.go:83
↓ 7 callers
Method
Close
Close stops trace session and frees associated resources.
session.go:146
↓ 5 callers
Method
Process
Process starts processing of ETW events. Events will be passed to @cb synchronously and sequentially. Take a look to EventCallback documentation for m
session.go:115
↓ 5 callers
Method
trySignal
trySignal tries to send a signal to @done if it's ready to receive. @done expected to be a buffered channel.
session_test.go:260
↓ 4 callers
Method
generateEvents
We have no easy way to ensure that etw session is started and ready to process events, so it seems easier to just flood an events and catch some of th
session_test.go:281
↓ 4 callers
Function
windowsGUIDToGo
(guid C.GUID)
event.go:487
↓ 3 callers
Method
Error
()
session.go:42
↓ 3 callers
Method
EventProperties
EventProperties returns a map that represents events-specific data provided by event producer. Returned data depends on the provider, event type and e
event.go:96
↓ 3 callers
Function
WithLevel
WithLevel specifies a maximum level consumer is interested in. Higher levels imply that you get lower levels as well. For example, with TRACE_LEVEL_ER
options.go:77
↓ 3 callers
Function
WithName
WithName specifies a provided @name for the creating session. Further that session could be controlled from other processed by it's name, so it should
options.go:68
↓ 2 callers
Function
GetPropertyName
Returns ULONGLONG instead of string pointer cos event data descriptor expects exactly that type.
session.c:100
↓ 2 callers
Function
createUTF16String
Creates UTF16 string from raw parts. Actually in go we have no way to make a slice from raw parts, ref: - https://github.com/golang/go/issues/13656 -
event.go:517
↓ 2 callers
Method
free
free frees associated PTRACE_EVENT_INFO if any assigned.
event.go:309
↓ 2 callers
Function
getLengthFromProperty
session.c:25
↓ 2 callers
Method
getPropertyName
getPropertyName returns a name of the @i-th event property.
event.go:316
↓ 2 callers
Method
getPropertyValue
getPropertyValue retrieves a value of @i-th property. N.B. getPropertyValue HIGHLY depends not only on @i but also on memory offsets, so check twice
event.go:326
↓ 2 callers
Method
subscribeToProvider
subscribeToProvider wraps EnableTraceEx2 with EVENT_CONTROL_CODE_ENABLE_PROVIDER.
session.go:251
↓ 1 callers
Method
ExtendedInfo
ExtendedInfo extracts ExtendedEventInfo structure from native buffers of received event record. If no ExtendedEventInfo is available inside an event
event.go:162
↓ 1 callers
Function
KillSession
KillSession forces the session with a given @name to stop. Don't having a session handle we can't shutdown it gracefully unsubscribing from all the pr
session.go:165
↓ 1 callers
Method
UpdateOptions
UpdateOptions changes subscription parameters in runtime. The only option that can't be updated is session name. To change session name -- stop and re
session.go:135
↓ 1 callers
Method
createETWSession
createETWSession wraps StartTraceW.
session.go:210
↓ 1 callers
Function
eventDescriptorToGo
(descriptor C.EVENT_DESCRIPTOR)
session.go:452
↓ 1 callers
Function
eventHeaderToGo
(header C.EVENT_HEADER)
session.go:436
↓ 1 callers
Function
freeCallbackKey
(key uintptr)
session.go:411
↓ 1 callers
Function
getEventInformation
getEventInformation wraps TdhGetEventInformation. It extracts some kind of simplified event information used by Tdh* family of function. Returned inf
event.go:283
↓ 1 callers
Function
getMapInfo
getMapInfo retrieve the mapping between the @i-th field and the structure it represents. If that mapping exists, function extracts it and returns a po
event.go:455
↓ 1 callers
Function
handleEvent
handleEvent is exported to guarantee C calling convention (cdecl). The function should be defined here but would be linked and used inside C code in
session.go:421
↓ 1 callers
Function
newCallbackKey
newCallbackKey stores a @ptr inside a global storage returning its' key. After use the key should be freed using `freeCallbackKey`.
session.go:404
↓ 1 callers
Function
newPropertyParser
(r C.PEVENT_RECORD)
event.go:258
↓ 1 callers
Method
parseExtendedInfo
()
event.go:172
↓ 1 callers
Method
parseSimpleType
parseSimpleType wraps TdhFormatProperty to get rendered to string value of @i-th event property.
event.go:387
↓ 1 callers
Method
parseStruct
parseStruct tries to extract fields of embedded structure at property @i.
event.go:360
↓ 1 callers
Method
processEvents
processEvents subscribes to the actual provider events and starts its processing.
session.go:319
↓ 1 callers
Function
randomName
()
session.go:377
↓ 1 callers
Function
stampToTime
stampToTime translates FileTime to a golang time. Same as in standard packages.
event.go:501
↓ 1 callers
Method
stopSession
stopSession wraps ControlTraceW with EVENT_TRACE_CONTROL_STOP.
session.go:353
↓ 1 callers
Method
unsubscribeFromProvider
unsubscribeFromProvider wraps EnableTraceEx2 with EVENT_CONTROL_CODE_DISABLE_PROVIDER.
session.go:290
Function
GetAddress32
session.c:168
Function
GetAddress64
session.c:172
Function
GetArraySize
https://docs.microsoft.com/ru-ru/windows/win32/etw/using-tdhformatproperty-to-consume-event-data
session.c:37
Function
GetDataPtr
session.c:160
Function
GetDataSize
session.c:164
Function
GetExtType
session.c:156
Function
GetInType
session.c:104
Function
GetKernelTime
session.c:144
Function
GetMapName
session.c:112
Function
GetOutType
session.c:108
Function
GetProcessorTime
session.c:152
Function
GetPropertyLength
GetPropertyLength returns an associated length of the @j-th property of @pInfo. If the length is available, retrieve it here. In some cases, the lengt
session.c:60
Function
GetStructLastIndex
session.c:135
Function
GetStructStartIndex
session.c:131
Function
GetTimeStamp
session.c:140
Function
GetUserTime
session.c:148
Method
HasCPUTime
HasCPUTime returns true if the event has separate UserTime and KernelTime measurements. Otherwise the value of UserTime and KernelTime is meaningless
event.go:54
Function
OpenTraceHelper
OpenTraceHelper helps to access EVENT_TRACE_LOGFILEW union fields and pass pointer to C not warning CGO checker.
session.c:15
Function
PropertyIsArray
Determine whether the property is an array. The property is an array if the EVENT_PROPERTY_INFO.Flags member is set to PropertyParamCount or the EVENT
session.c:125
Function
PropertyIsStruct
session.c:116
Method
SetupTest
()
session_test.go:32
Method
TearDownTest
()
session_test.go:42
Method
TestEventOutsideCallback
TestEventOutsideCallback ensures *etw.Event can't be used outside EventCallback.
session_test.go:222
Method
TestKillSession
TestKillSession ensures that we are able to force kill the lost session using only its name.
session_test.go:197
Method
TestParsing
TestParsing ensures that etw.Session is able to parse events with all common field types.
session_test.go:134
Function
TestSession
(t *testing.T)
session_test.go:19
Method
TestSmoke
TestSmoke ensures that etw.Session is working as expected: it could start, process incoming events and stop properly.
session_test.go:49
Method
TestUpdating
TestUpdating ensures that etw.Session is able to update its properties in runtime.
session_test.go:82
Function
WithMatchKeywords
WithMatchKeywords allows to specify keywords of receiving events. Each event has a set of keywords associated with it. That keywords are encoded as bi
options.go:93
Function
WithProperty
WithProperty enables additional provider feature toggled by @p. Subsequent WithProperty options will enable all provided options. For more info about
options.go:106
Function
main
()
examples/tracer/main.go:20
Function
stdcallHandleEvent
session.c:9