HintProcessor model 1.zero.zero is now to be had on NuGet with the next package deal ID:


This free up comprises malicious program fixes, API finalization and minor improvements since model zero.three.zero. Most of those adjustments had been launched lately in model zero.four.zero. (A complete changelog is beneath). Basic utilization continues to be the similar as in model zero.1.zero and model zero.2.zero.

With model 1.zero.zero, we’ve got stabilized the API, and following semantic versioning, no breaking adjustments (supply or binary) can be made inside the 1.x.y variations of those programs.

Note that there are a couple of portions of the API which can be in preview and underneath lively building; they will trade in long run releases; specifically, the next sorts:

  • IEventConsumer
  • IScheduledConsumer
  • ICompletable
  • ConsumerSchedule
  • ProlongedDataMerchandise
  • ProlongedDataItemReadOnlySpan
  • ICompletableTwoPassEventConsumer
  • IFilteredEventConsumer
  • IFilteredTwoPassEventConsumer
  • ITwoPassEventConsumer
  • TraceEventCallback
  • UnparsedGenericEvent

As prior to, in case you in finding those programs helpful, we would really like to listen to from you, and we welcome your comments. For questions the usage of this package deal, you’ll be able to publish on StackOverflow with the tag .net-traceprocessing, and problems may also be filed at the eventtracing-processing undertaking on GitHub.

The complete changelog for model 1.zero.zero is as follows:

Breaking Changes (up to now incorporated in v0.four.zero)

  • On IWindowsTracePreprocessorEvent, ProviderId has been renamed PreprocessorProviderId.
  • Throughout the API, length houses at the moment are of kind HintDuration or TimeSpan moderately than Duration. HintDuration has been used the place the time represents the duration hint occasions, and TimeSpan has been used in a different way. (HintDuration implicitly converts to Duration.)
  • ConsumerData has been renamed to TraceEvent.Data and ConsumerDataReader has been renamed to MatchDataReader.
  • IThreadStack has been cut up into IThreadStack and IStackSnapshot. Stacks with out thread and timestamp information at the moment are simply IThreadStack, and trend matching and stringification at the moment are supported for those stacks, together with heap snapshot stacks. Full IStackSnapshot circumstances (which inherit from IThreadStack) paintings as IThreadStack did up to now.
  • Struct houses that convert to some other kind now constantly fail to remember any prefix. For instance, the valuables is called HintDuration.TimeSpan moderately than HintDuration.ToTimeSpan.
  • IStackFrame has been changed with the StackFrame construction for higher reminiscence utilization.
  • Numeric sorts are constantly represented as int or lengthy for consistency with .NET.
  • The timestamp context extension strategies Create(Timestamp or nanoseconds) and CreateHintDuration(Timestamp or nanoseconds) had been changed with CreateApproximate/CreateApproximateTraceDuration. Where conceivable, those strategies create a HintTimestamp or HintDuration with an approximate .Value moderately than having .IsPartial set to true.
  • StackId houses on IHeapAllocation are nullable to mirror lacking information circumstances explicitly.

New Data Exposed (up to now incorporated in v0.four.zero)

  • IImage now supplies FileOffset.
  • An extension means on IImage, GetProcessDeal with, helps turning a relative digital cope with (RVA) right into a procedure cope with that can be utilized to seem up symbols.
  • StackFrame now supplies a RelativeVirtualAddress belongings.
  • IWindowsTracePreprocessorEvent now has a PreprocessorProviderName belongings. This belongings calls for a brand new model of the toolkit to serve as, which has now not but been launched in an non-preview Windows SDK.
  • IGenericEventField now supplies a DateTimeType.
  • IGenericEventField now helps a Type of TimeSpan (.AsTimeSpan and .AsTimeSpanList) for ETW timestamps.

Bug Fixes (up to now incorporated in v0.four.zero)

  • All HintTimestamps from the similar hint can now be in comparison, although one is Partial and the opposite isn’t.

Other (new in v1.zero.zero)

  • Console output and blunder produced right through hint processing can also be redirected by means of an extension means hint.Process(Stream, Stream).