Skip to content

Latest commit

 

History

History
133 lines (105 loc) · 7.13 KB

CHANGELOG.md

File metadata and controls

133 lines (105 loc) · 7.13 KB

Changelog

v0.12.0 Note This release modifies the Tracer object to make it disposable. You may wish to check your integrations and wrappers to ensure that this doesn't break anything.

  • The Tracer now implements IDisposable. This is intended to be used by implementors to add an "off" switch that can stop span recording.
  • The version of certain Protobuf libraries required has been relaxed to it's pre-0.11 state.
  • We no longer make a copy of the span buffer to count how many spans are in it in certain cases, improving performance.

v0.11.0 Note This release changes the public API surface. It should not impact you, but it might if you're manging span contexts manually.

  • The SpanContext signature has changed and parent span ID is now a ulong as well (this continues work released in 0.8.0). Performance should be improved for serialization to proto.
  • The minimum target framework is now .NET 4.7.2. Packages have been updated as well. Performance is up, memory consumption and object allocations are down!

v0.10.0

  • Refactored several interfaces to allow integrators to re-implement the reporting HttpClient more easily.
  • Improved version detection of the underlying CLR

v0.9.0

  • Reduce logging verbosity and log output. Several statements that appeared at DEBUG now appear at TRACE.
  • Improve the resolution of span start/finish timestamps.
  • Awaited methods should no longer block on synchronous threads.

v0.8.1

  • Update Google Protobuf to latest stable

v0.8.0

  • Improves serialization performance by removing unneeded conversions

v0.7.0

  • B3 Header propagation is case-insensitive

v0.6.0

  • Update Flush to return Task and update usage in Tracer to await it's completion
  • Add basic .editorconfig to help standardize file formats
  • Update csproj to use license expression instead of url when packaging
  • Improve B3 header support, including 128 bit trace IDs

v0.5.0

  • Certain span operations (Log, SetBaggageItem, Finish, SetTag, SetOperationName) will no longer throw InvalidOperationException if called on a finished span. Instead, they will log a message at the error level.

v0.4.5

  • Support v0.12.1 of OpenTracing C#
  • Initial support for inject/extract of binary headers (x-ot-span-context). See usage examples in test/Lightstep.Tests/PropagatorTests.cs.
  • Headers for Http/TextMap Propagator are now case-insensitive

v0.4.5-beta

  • Headers for Http/TextMap Propagator are now case-insensitive

v0.4.4-beta

  • Initial support for inject/extract of binary headers (x-ot-span-context). See usage examples in test/Lightstep.Tests/PropagatorTests.cs.

v0.4.3

  • Improves safety of serializing reports by moving translate method to a try/catch block.

v0.4.2

  • Addresses an issue where an unhandled exception could occur if a span duration was negative.

v0.4.1

  • Addresses an issue where we would attempt to parse all strings as JSON objects when serializing spans to the wire. We now use a more performant method to determine if an input string is JSON.

v0.4.0

  • Addresses an issue where duplicate request headers were sent to the LightStep Satellite.
  • Updated the default host and port of the Tracer.
  • Removed the requirement for an access token when creating an Options object.

v0.3.0

  • Add support for meta event reporting to the LightStep SaaS.

v0.2.0

  • In order to align with other LightStep tracer implementations, Inject and Extract methods in TextMapPropagator have changed:
    • Inject will now convert TraceId and SpanId to a hexadecimal string in the carrier.
    • Extract will now convert the incoming TraceId and SpanId from a hexadecimal string into a uint64.

v0.1.2

  • Increase the verbosity level for certain frequent operations:
    • Inject/Extract logging from DEBUG to TRACE
    • Span buffer count and reset span message from DEBUG to TRACE
  • Certain LightStepHttpClient methods were public rather than internal, this has been corrected -
    • Translate
    • SendReport

v0.1.1

  • Guard against conversion of malformed SpanData by dropping bad spans.

v0.1.0

  • TransportOptions are now available. You can select JSON or Binary Protobufs.
  • We now build using Cake.
  • All value types are now properly handled in span serialization.
  • The platform version detection code has been improved and should be resilient to dynamic injection scenarios.
  • Logging now exists for many operations via the LibLog library. See the README for more details.
  • Error handling around dropped reports has been improved, and we now report dropped spans to LightStep.
  • The LightStepHttpClient now respects the ReportTimeout value. Breaking Change
    • Previously, this value was not respected by the HTTP client and was using the default 100s timeout.
  • The Options class has been refactored to support a more fluent style of configuration. Breaking Change
    • By default, SatelliteOptions are now created when Options is created that points to the LightStep public satellite pool.
    • Please see the readme for more information on configuring the tracer.
  • Tags which are passed with an empty value will now set the string value "null" when reporting to LightStep.

v0.0.8

  • Addresses an issue where the Tracer would not Flush regularly.
  • Addresses an issue where tags with null values would cause the tracer to not report spans.
  • Addresses an issue where the LightStepHttpClient would stop sending spans if it received a non-success status code from the LightStep Satellite.
  • Change The LightStepHttpClient will prefer HTTP/1.1 to HTTP/2. Change ths using Options.UseHttp2.
  • The NuGet package now includes PDB files.
  • The Options object now exposes a property Run that will determine if the Tracer should flush spans.

v0.0.7

  • When instantiating a Tracer, you can now pass additional tags in Options to apply to all spans. You can also override existing LightStep span tags.

v0.0.6

  • Addresses an issue where the signing key wasn't actually being used to sign the assembly.
  • Removes unneded net452 target framework from LightStep project.
  • Reduced C# target version to 7.0 to allow builds on unpatched VS2017.

v0.0.5

  • Addresses an issue where incoming headers using base16 would cause exceptions on conversion.

v0.0.4

  • Expose a new option to force HTTP/1.1 rather than attempting to use HTTP/2 (Options.UseHttp2) which defaults to true.
  • The LightStep Assembly is now signed via Strong Naming.
  • Addresses an issue where OpenTracing Header key values were not set correctly.
  • Addresses an issue where span duration was improperly reported as ticks rather than microseconds.
  • Addresses an issue where on older .NET versions, secure connections would fail due to TLS negotiation. We now force all versions to attempt to negotiate TLS 1.2, then fall back.
  • Addresses an issue where rapid creation of Spans in a short timeframe belonging to the same Trace could result in Span ID collisions.

v0.0.3

  • Addresses an issue where we would always try to connect to the Satellite via http, even if usePlaintext was set to false.

v0.0.2

  • Add support for parsing B3 Headers (such as those used by Zipkin)
  • Support net45 and netstandard2

v0.0.1

  • Initial Release