Commit Graph

31 Commits

Author SHA1 Message Date
Mikel Blanchard 9298e0ef3f
Redis instrumentation with ActivitySource by Eddy & Mike (#800)
* Attempting to get Redis instrumentation up and working using ActivitySource API.

* updating tests

* renaming and updating tests

* Test fixes.

* Fixed Redis net461 tests failing on connection.

* Redis integration tests and bug fixes.

* Adding tests

* Put back redis connection options.

* Updates for changes in master.

* adding comments to testRedis

* updating based on comments

* updating summary

* Switched a couple spots using string keys to constants.

* Redis integration tests

* Small tweak to the GitHub action to make it more consistent with the others.

* Made instrumentation internal. Updated README.

* rename MaxFlushInterval to FlushInterval, adding flushInterval to samples

* Removed running of non-integration tests from Redis dockerfile.

Co-authored-by: Eddy Nakamura <eddynaka@gmail.com>
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2020-07-14 08:47:59 -07:00
Paulo Janotti 8ed37a6f59
Organize StyleCop Settings and enable StyleCop on Tests (#715)
* Enable StyleCop rules for Test projects

This enables most of the StyleCop for test projects cleaning up any
errors as appropriate.

* Enable StyleCop rules for Test projects

This enables most of the StyleCop for test projects cleaning up any
errors as appropriate.

* Add line break at end of ruleset files

* Correct multi-line parameter after rebase
2020-06-10 12:12:13 -07:00
Paulo Janotti cab77a9bef
Add a Jaeger Activity Exporter (#693)
* Add a Jaeger Activity Exporter

* Fix a comment and code doc

* Fix code doc
2020-05-23 06:10:36 -07:00
Cijo Thomas 30f841b2ef
Remove year from Copyright header (#671)
* Remove year from Copyright header

* some projects were unloaded and hence change didnt apply. this commit fixed it
2020-05-07 11:53:43 -07:00
Mikel Blanchard a0360d65f4
JaegerExporter cleanup. (#595)
* JaegerExporter cleanup.

* Fixed ToJaegerSpan returning peerServiceName for server spans. Fixes #589.
2020-04-14 13:48:15 -07:00
Mikel Blanchard d5b4248261
JaegerExporter: Performance Improvements (#494)
* Initial work.

* First complete version of Jaeger with perf improvements.

* Added JaegerExporter benchmarks.

* More performance revisions.

* ValueTask perf improvements.

* Missed a couple tasks.

* Removed null check against struct.

* Tweaked how structs are used.

* Figured out why the structs were eating more memory. Fixed up unit tests.

* Reverted change to ToJaegerSpan extension signature.

* Fixed JaegerUdpBatcher not calling CloseAsync in dispose, fixed SpanExporters not being disposed.

* Reference System.Threading.Tasks.Extensions for net46 & netstandard2.0 builds of Thirft to add in ValueTask.

* Removed the fork of Thrift in favor of the official package.

* Increased number of spans per iteration in jaeger benchmarks. Switched ApacheThrift to PrivateAssets=all in jaeger exporter project.

* New algorithm for memory management.

* Fixed double-allocation of tags.

* Immutable structs. Added cancellationToken to IJaegerClient interface.

* Added lists that can be backed be pooled buffers.

* Everything in implementation folder is now internal.

* Return ref from PooledList indexer.

Co-authored-by: Sergey Kanzhelev <S.Kanzhelev@live.com>
2020-02-26 14:49:39 -08:00
Mikel Blanchard 4031bd2b87
JaegerExporter: Send a batch for each remote service (#486)
* Updated JaegerExporter to send a batch per remote service so that the UI can correctly detect dependencies for non-instrumented external calls.

* Code review.

* Fixed broken batch size calculation.

* Moved lock above try.

* Fixed failing unit test.

Co-authored-by: Sergey Kanzhelev <S.Kanzhelev@live.com>
2020-02-20 21:42:24 -08:00
Mikel Blanchard 0c92b3e054
OpenTelemetry.Collector.Dependencies: HttpHandlerDiagnosticListener error description lost (#487)
* Fixed HttpHandlerDiagnosticListener so it doesn't clear status description after it sets it. Updated JaegerExporter to send ot.status_code & ot.status_description.

* Code review.

* Code review.
2020-02-17 11:22:03 -08:00
Mikel Blanchard 91d1ef25f7
JaegerExporter: Use LibraryResource or JaegerExporterOptions (#485)
* Modded the Jaeger Exporter to also look at Resources for ServiceName & ProcessTags.

* You can now pass additional attributes to CreateServiceResource helper. Moved "service.*" resource strings into constants.

* Code review feedback.

* Code review feedback.

* Code review feedback.

* Removed nested dictionary.

Co-authored-by: Liudmila Molkova <lmolkova@microsoft.com>
2020-02-12 11:20:09 -08:00
Liudmila Molkova 1e6dbb79e1 Add public SpanData constructor with all exportable paramters (#454)
* Add SpanData public constructor for out-of-band spans and testing

* Add span data test

* fix tests

Co-authored-by: Sergey Kanzhelev <S.Kanzhelev@live.com>
2020-01-21 09:18:55 -08:00
Liudmila Molkova ddd13c3eed
Discuss ISpan/IReadableSpan (#420)
* Introduce IReadableSpan

* SpanData struct instead readable span

* Rename Span to SpanSdk

* Fix XPagesExporter to use SpanData
2020-01-16 18:03:23 -08:00
Liudmila Molkova db20d36e55
Cleanup: Remove SetAttribute(string) and AddEvent(name, attributes) overloads on Span (#412)
* Remove extra SetAttribte and AddEvent overloads on Span

* return bool double and long attribues

Co-authored-by: Sergey Kanzhelev <S.Kanzhelev@live.com>
2019-12-26 09:58:45 -08:00
Peter Wiese 94cfe15c2a Fix the Span Event name to Jaeger Log field name translation (#415)
* Fix the Span Event name to Jaeger Log field name translation

* Repair unit tests
2019-12-20 15:13:50 -08:00
Liudmila Molkova 5ead3908ba
Make ITracer an abstract class and rename to tracer (#402) 2019-12-18 12:22:42 -08:00
Peter Wiese 2448b2a0a9 Jaeger Span conversion missing span.kind (#401)
Per https://opentracing.io/specification/conventions/ we need to set this value.
2019-12-17 10:42:18 -08:00
Liudmila Molkova bf0e3df820
Move advanced span creation options to new class to simply API (#304)
* Move advanced span creation options to new class to simply API

* docs

* fix tests
2019-10-23 11:23:55 -07:00
Bruno Garcia 0610a5b530 Span creation takes Func<IEnumerable<Links>> to optimize on NoOp (#282)
* wip

* ref: Take func for Links

* ref: Avoid allocation when no links

* ref: Allocate only if necessary

* fix some unit tests

* ref: Overload taking IEnumerable

* fix: overload

* ref: use overload with enumerator

* ref; use enumerator overload

* fix: Cast double to long to match expected

* ref: Use .Any()

* ref: Pass null thru for IEnumerable

* test: SpanTest

* ref: Align params

* ref: Use List<Link> in Span

* ref: Got cough being lazy

* fix: Ludimila fixes my shitty code

* ref: including max value

Co-Authored-By: Liudmila Molkova <lmolkova@microsoft.com>

* ref: remove redundant list allocation
2019-10-21 19:17:30 -07:00
Liudmila Molkova 3838e81aca minor style fixes (#274)
* usings outside in Abstractions

* Move usings outside of namespace and apply style

* more style fixes

* merge with master

* build fix
2019-10-14 11:57:21 -07:00
Liudmila Molkova 7141ee23d8
Tracing configuration API (#267)
* tracer factory configuration

* review

* default factory

* review

* Tests and readme

* Update README.md

Co-Authored-By: Austin Parker <austin@lightstep.com>

* null checks

* rebase from master
2019-10-11 18:53:11 -07:00
Liudmila Molkova afb1381bbd
Remove span builder (#268)
* Remove SpanBuilder

* tests

* more tests and readme

* review feedback
2019-10-11 15:47:19 -07:00
Liudmila Molkova b7fd0e79d6
Remove tracestate class and use ienumerable instead (#257) 2019-10-03 13:38:38 -07:00
Wolfgang Ziegler 7453ec3258 Named tracers (#239)
* Implementing the "Named Tracers" proposal for .NET

* Improve Named Tracers implementation.

LoggingTracer now prints "LibraryResource" information (name + version)
Make "LibraryResource" available on Spans.

* Improved and refactored Tracer creation

* Fixed issues and tests after merge

* Implemented PR feedback

* Implementing the "Named Tracers" proposal for .NET

* Improve Named Tracers implementation.

LoggingTracer now prints "LibraryResource" information (name + version)
Make "LibraryResource" available on Spans.

* Improved and refactored Tracer creation

* Fixed issues and tests after merge

* Implemented PR feedback

* Implement PR review feedback

* Organize using directives

* Update src/OpenTelemetry.Collector.AspNetCore/RequestsCollector.cs

Co-Authored-By: Liudmila Molkova <lmolkova@microsoft.com>

* Update RequestsCollector.cs
2019-10-03 10:05:16 -07:00
Liudmila Molkova 7785258c2b
Remove IEvent interface (#246)
* remove IEvent interface

* Update src/OpenTelemetry.Abstractions/Trace/Event.cs

Co-Authored-By: Bruno Garcia <bruno@brunogarcia.com>
2019-10-01 11:55:10 -07:00
Liudmila Molkova 754c80a702 Remove ILink interface (#245) 2019-10-01 11:04:58 -04:00
Liudmila Molkova bae63f8c34
SpanContext.Create to public constructor (#233)
* Make SpanContext struct and make constructor public
do not allow link from blank context

back to class

* up
2019-09-30 08:19:14 -07:00
Liudmila Molkova 58717abf27
Implement batching processor and use it by default (#228)
* Implement batching processor and use it by default

* up

* Tracer ctor fix

* relax tests checks for number of export calls

* Update src/OpenTelemetry/Trace/Export/SimpleSpanProcessor.cs

Co-Authored-By: Bruno Garcia <bruno@brunogarcia.com>

* relax tests
2019-09-26 12:05:47 -07:00
Liudmila Molkova 8525f389ad
remove SpanData (#222) 2019-09-23 09:00:32 -07:00
Liudmila Molkova 207684787b Use DateTimeOffset instead of DateTime (#214) 2019-09-20 23:05:50 -07:00
Sergey Kanzhelev a793f5f542
a few minor warnings (#212) 2019-09-20 22:58:57 -07:00
Liudmila Molkova 07fbc67d20
Add Timestamp on the event and remove ITimedEvent (#210)
* Set timestamp on the event and remove iTimedEvent

* Update src/OpenTelemetry.Abstractions/Trace/Export/ITimedEvents.cs

Co-Authored-By: John Du Hart <jduhart@mdsol.com>

* Update src/OpenTelemetry.Abstractions/Trace/Export/ITimedEvents.cs

Co-Authored-By: John Du Hart <jduhart@mdsol.com>
2019-09-20 14:15:41 -07:00
PS-EGHornbostel 8e1d8fa47e Jaeger exporter implementation (#132)
* Fix visual studio dotnet core build task

* Added CNCF Jaeger exporter support

https://github.com/open-telemetry/opentelemetry-dotnet/issues/77

* possible fix for win32 build issue.

* Fix windows build by adding Thrift source

* Fix yet more windows build issues.

* fix another style issue.

* fix reference to System.Net.Http

* remove unnecessary conditional framework reference.

* Update lib/Thrift/Transports/Client/TStreamClientTransport.cs

Co-Authored-By: Bruno Garcia <github@brunogarcia.com>

* Update lib/Thrift/Transports/Client/TStreamClientTransport.cs

Co-Authored-By: Bruno Garcia <github@brunogarcia.com>

* Added the conditional for netstandard2.0

* remove IDisposable TODO comments.

* Update src/OpenTelemetry.Exporter.Jaeger/Implimentation/EmitBatchArgs.cs

Co-Authored-By: Bruno Garcia <github@brunogarcia.com>

* Add readme with thrift fork info.

* cleanup after merge.

* WIP remove thrift code

* Use prepackaged Apache Thrift assembly

* wrap EmitBatch

* Revert "wrap EmitBatch "

This reverts commit 9aaa1388ba.

* Revert "Use prepackaged Apache Thrift assembly"

This reverts commit fa5fbd8e6c.

* Revert "Use prepackaged Apache Thrift assembly"

This reverts commit fa5fbd8e6c.

* Revert "WIP remove thrift code"

This reverts commit bbbcf470e8.

* Add missing ConfigureAwait(false) to Thrift async calls.

* Added Thrift fork differences to README.md

* WIP Jaeger Unit tests

* Fix build after merge.

* WIP Jaeger Unit tests - Span conversion to Jaeger Thrift format

* WIP Jaeger Unit tests - Span conversion to Jaeger Thrift format - cleanup

* Clean up merge issues

* WIP

* WIP cleanup

* more testing WIP

* use pattern matching for attribute conversion

* WIP cleanup after timestamp removal.

* WIP

* WIP UDP integration test

* Update src/OpenTelemetry.Exporter.Jaeger/Implimentation/Batch.cs

Co-Authored-By: Bruno Garcia <github@brunogarcia.com>

* remove solution-explorer

* add to gitignore

* refactored List<T> to IEnumerable<T>

* Fix unit test bug

* Add integration test

* cleanup

* fix unix epoch conversion

* Update Thrift expected payload in unit test.

* fix build issues

* fix typo

* fix solution
2019-07-23 19:47:52 -07:00