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 implementsIDisposable
. 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 throwInvalidOperationException
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 intest/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 intest/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
andExtract
methods inTextMapPropagator
have changed:Inject
will now convertTraceId
andSpanId
to a hexadecimal string in the carrier.Extract
will now convert the incomingTraceId
andSpanId
from a hexadecimal string into auint64
.
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 werepublic
rather thaninternal
, 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 theReportTimeout
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 whenOptions
is created that points to the LightStep public satellite pool. - Please see the readme for more information on configuring the tracer.
- By default,
- 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 notFlush
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 usingOptions.UseHttp2
. - The NuGet package now includes PDB files.
- The
Options
object now exposes a propertyRun
that will determine if the Tracer should flush spans.
v0.0.7
- When instantiating a
Tracer
, you can now pass additional tags inOptions
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 totrue
. - 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 ifusePlaintext
was set tofalse
.
v0.0.2
- Add support for parsing B3 Headers (such as those used by Zipkin)
- Support
net45
andnetstandard2
v0.0.1
- Initial Release