Commit Graph
26 Commits
Author SHA1 Message Date
Kevin Parsons dac77d8a7c etw: Fix panic when provider creation fails
There is a cleanup function deferred to remove the provider from the global
provider map. However, this function didn't bind the value of provider ahead of
time, so when the provider creation returned with nil for provider, we tried to
cleanup a nil provider, and panicked.
2019-04-19 10:43:53 -07:00
Kevin Parsons 88da7d1491 Add guid package 2019-04-01 16:07:14 -07:00
Kevin Parsons 873693efb7 Add opcode support to etw package 2019-03-28 14:34:17 -07:00
Kevin Parsons dd3d7fa178 Merge pull request #120 from kevpar/etw-smart-field
Move smart ETW field logging to base etw library
2019-03-22 14:48:08 -07:00
Kevin Parsons a132ab2270 Move smart ETW field logging to base etw library 2019-03-22 14:16:54 -07:00
Kevin Parsons 9ea416ec01 Fix activity ID not being passed in ETW 2019-03-22 11:11:18 -07:00
John Howard 8df5952535 Fix GrantVmGroupAccess
Signed-off-by: John Howard <jhoward@microsoft.com>
2019-03-21 12:32:46 -07:00
John Howard 884f680ab9 Add GrantVmGroupAccess
Signed-off-by: John Howard <jhoward@microsoft.com>
2019-03-20 19:35:27 -07:00
Justin 584c8d8bd8 Merge pull request #115 from kevpar/etw-logrus-pass-provider
Etw logrus pass provider
2019-03-19 11:13:27 -07:00
Justin 19a2e5edd7 Merge pull request #113 from kevpar/public-etw
Export etw package
2019-03-19 11:12:31 -07:00
Kevin Parsons 811b34668c Provide a hook constructor which accepts an ETW provider
Previously, the only constructor for the etwlogrus hook accepted a name, and
created a new ETW provider with that name. With this change, there is another
constructor which takes an already created ETW provider. This is to allow the
use of the ETW provider for other things, such as if the application wants to
support ETW capture state.
2019-03-19 00:09:35 -07:00
Kevin Parsons b246ce4803 Map Logrus level to standard ETW level
ETW and Logrus have similar, but different definitiosn of log level.
Originally, the plan was to just convert the integer value of the Logrus level
to an ETW level, and leave it at that. However, it turns out there are tools
that assume you are logging with the standard set of ETW log level. So now we
will map the Logrus level to an ETW level, so that these tools better.
2019-03-19 00:01:56 -07:00
Kevin Parsons ce5a3739bc Export etw package 2019-03-18 23:57:19 -07:00
John Howard c16103c642 Convert to UNix line endings
Signed-off-by: John Howard <jhoward@microsoft.com>
2019-02-21 09:33:18 -08:00
Kevin Parsons 6e71d2839c Add test cases for logging empty slices
Signed-off-by: Kevin Parsons <kevpar@ntdev.microsoft.com>
2019-01-11 12:22:02 -08:00
Kevin Parsons 515e920a0a Support logging more Go types to ETW
Signed-off-by: Kevin Parsons <kevpar@ntdev.microsoft.com>
2019-01-10 11:08:01 -08:00
Kevin Parsons 82fc62aed2 Return error from WriteEvent in Logrus hook 2019-01-03 16:08:24 -08:00
Kevin Parsons b87cea3696 Clean up and PR feedback 2019-01-03 13:08:23 -08:00
Kevin Parsons fac5ca0c3a Separate ETW into low-level and high-level API 2018-12-21 16:18:22 -08:00
Kevin Parsons 50cf0baa2f Support auto-generation of ETW provider ID 2018-12-20 14:05:36 -08:00
Kevin Parsons 82ad381699 Add ETW support for out type and tags 2018-12-20 01:28:55 -08:00
Kevin Parsons 824a366a22 Make etw package internal 2018-12-19 01:52:15 -08:00
Kevin Parsons dcfdf4a9f6 Improve ETW callback support and track provider enable state 2018-12-19 01:42:44 -08:00
Kevin Parsons 35e42dab22 Address PR feedback 2018-12-19 01:38:48 -08:00
Kevin Parsons cd4b2fefe9 Change from reflection to type switch in Logrus hook 2018-12-13 17:23:55 -08:00
Kevin Parsons 62f7a6b7b9 Rearrange etw packages 2018-12-13 14:26:45 -08:00