Commit Graph
36 Commits
Author SHA1 Message Date
Krzesimir Nowakandrghetia a776e95c61 Consolidate AddEvent and Event methods, add FinishOptions (#99)
* Merge two event methods in span API

There was an agreement to get rid of the Event interface and
consolidate the two methods for adding events into one. See #57.

* Eliminate the use of the Event interface

There is no need for the SDK to provide the implementation of the
Event interface - it is used nowhere.

* Drop the Event interface

It's dead code now.

* Make it possible to override a finish timestamp through options

Opentracing to opentelemetry bridge will certainly use this feature.

* Obey the start time option

* Add tests for events and custom start/end times
2019-09-03 11:03:51 -07:00
Krzesimir Nowakandrghetia 3fc6025071 Allow setting the name of the span after starting it (#102)
* Allow setting the name of the span after starting it

* Add test for setting the name of the span
2019-08-26 11:53:12 -07:00
Koichi Shiraishiandrghetia 887748491b Add vanity import name (#107)
* api: add doc.go and vanity custom import name

* experimental/streaming/exporter: add doc.go & vanity custom import name

* experimental/streaming/exporter/*: add vanity custom import name

* golangci.yml: fix local-prefixes to go.opentelemetry.io

* api,sdk: run `goimports -w -local go.opentelemetry.io`
2019-08-26 09:41:15 -07:00
Krzesimir Nowakandrghetia 670b0365d8 Make tag.Map a concrete type. (#89)
This is to make tag.Map an immutable type, so it is safe to use
concurrently. The safety is not yet fully achieved because of the
functions returning contents of the map (Value and Foreach). The
functions give callers an access to core.Value objects, which contain
a byte slice, which has pointer like semantics. So to avoid accidental
changes, we will need to copy the value if it is of BYTES type.

Fixes #59
2019-08-23 09:01:52 -07:00
Dave Josephsenandrghetia 3ca747f4e8 change the api/core tests to use core_testing package (#96)
* add exported value for traceOptionBitMaskUnused (for testing)

* move key_test to package core_test

* add span_context_test to package core_test
2019-08-22 11:40:15 -07:00
Dave Josephsenandrghetia 8e7e1fd0a9 add tests for api/trace/current.go (#82)
* add tests for api/trace/current.go

* add interface validaion for type: mockSpan

* rework for exported NoopSpan and ditch useless tabletest for TestSetCurrentSpan()
2019-08-22 10:15:22 -07:00
rghetiaandGitHub a54a8a27c4 Add Sampler API (#70)
- also add implementation of AlwaysSampleSampler and NeverSampleSampler
2019-08-22 09:57:27 -07:00
Isobel Redelmeierandrghetia 56e1a9d1f4 Export NoopSpan and NoopTracer (#92) 2019-08-13 16:03:40 -07:00
thinkerouandrghetia 0ce21a987b remove duplicate interface check (#87) 2019-08-12 11:03:29 -07:00
thinkerouandrghetia 290f108852 use EmptySpanContext function instead of global variable (#86) 2019-08-12 10:59:35 -07:00
thinkerouandrghetia 0a37b8f43e add IsValid() for SpanContext (#46)
* add IsValid() for SpanContext

* add unit test
2019-08-05 09:58:50 -07:00
rghetiaandGitHub 0f32efcdaa Trace sdk (#65)
* trace sdk initial commit.

* fix imports and comments.

* remove tracestate

* split trace.go

* add attribute over limit test.

* add comments and restructure span.go and tracer.go

* refactor MessageEvent

* defer unlock

* some more cleanup in span.go

* rename *MessageEvent* to *Event*

* cleanup comments in trace_test.go

* fix typos.

* return full string ID for traceID and spanID.
2019-08-02 13:52:55 -07:00
rghetiaandGitHub 0edf31e1c6 add APIs for traceoption and tracestate. (#60)
* add APIs for traceoption and tracestate.

* remove tracestate and refactor traceoptions.
2019-08-02 10:42:47 -07:00
Dave Josephsenandrghetia dad5622903 adds tests for api core key.go (#64)
* adds tests for api core key.go

* re-arrange imports

* change all floats to 42.1

* set TestFloat32 to 42.0
2019-07-23 11:38:23 -07:00
Dave Josephsenandrghetia 4b974a1beb adds tests for core/span_context.go (#63) 2019-07-19 13:29:42 -07:00
Wei Fuandrghetia eba4b51b81 set vtype for newVar (#56)
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2019-07-16 10:08:12 -07:00
rghetiaandGitHub eed647d11f replace import with vanity url go.opentelemetry.io. (#54) 2019-07-15 14:49:21 -07:00
Joshua MacDonaldandrghetia 961121698b Eliminate Scope/ScopeID, separate API from SDK for metrics/stats (#48)
* Move scope.Active to trace.CurrentSpan

* Remove scope / does not build

* Global tracer

* Checkpoint

* Checkpoint

* Add key/key.go for key.New

* Comments

* Remove more EventID and ScopeID

* Use Handle to describe static objects

* TODOs

* Remove empty file

* Remove singletons

* Update TODOs

* TODO about map update

* Make stats package option aliases (like key has)

* Rename experimental/streaming

* streaming SDK builds w/ many TODOs

* Get the examples building

* Tidy up metric API / add interface check

* Remove logic from the registry; this is now a placeholder
2019-07-11 15:28:38 -07:00
rghetiaandGitHub 20b2f718b8 Add Circle ci (#41)
* fix compile errors.

* fix lint errors.

* add circle-ci job.

* rename IDHigh to TraceIDHigh

* rename the file.

* add go get for goimports and golangci-lint

* enable GO111MODULE and remove comments.

* remove working dir and update cache name

* Add TEST_RESULT env back.

* run go mod tidy.

* remove go mod download.

* add test coverage.

* fix TraceID.

* fix circlefi config error.

* remove install-tools.

* remove ALL_TEST_SRC from Makefile.
2019-07-02 16:21:24 -07:00
thinkerouandrghetia dc4a44ca4e split core.go (#39) 2019-07-01 12:17:50 -07:00
thinkerouandrghetia 56fe193518 check interface implement for metric (#38) 2019-07-01 12:12:35 -07:00
thinkerouandrghetia 861e3e8776 check interface implement (#37) 2019-07-01 12:11:24 -07:00
thinkerouandrghetia a606839692 use function instead of global var (#36)
* use function instead of global var

* fix lack return
2019-07-01 11:28:25 -07:00
thinkerouandrghetia 252c6b5502 add interface implement check (#35) 2019-07-01 11:27:52 -07:00
thinkerouandrghetia c0a5fd12a5 remove duplicate var define (#34) 2019-07-01 11:25:40 -07:00
thinkerouandrghetia 084f03d098 use grpc.codes.String instead of custom switch (#32)
* use grpc.codes.String instead of custom switch

* remove unused import
2019-06-29 08:07:14 -07:00
thinkerouandrghetia d8f9b2546e move Apply method to map.go and check interface implement (#30)
* move Apply method to map.go

* Update map.go
2019-06-28 16:35:42 -07:00
thinkerouandrghetia 8c47aeb0af update (#31) 2019-06-27 22:59:13 -07:00
thinkerouandrghetia 36f51385ff update type style (#29) 2019-06-27 21:26:16 -07:00
rghetiaandGitHub 521a6c40f1 move span, trace and event implementation to sdk. (#27)
* move event to sdk.

* move trace and span implementation to sdk.
- also added noop implementation of span and trace.

* fix review comments.
2019-06-26 22:03:09 -07:00
rghetiaandGitHub d6d9786732 rename Log and Logf interface to AddEvent and AddEventf. (#22)
* rename Log and Logf interface to AddEvent and AddEventf.
- also remove log package.

* provide only AddEvent interface to Span
- Event can be created using Event specific interface.

* add var trick for Event interface.
2019-06-25 13:50:46 -07:00
rghetiaandGitHub abccacef85 Revert "Remove log interface from Span." (#21)
This reverts commit a551f0298c.
2019-06-24 10:35:16 -07:00
rghetiaandGitHub 73b844930c Remove log interface from Span. (#18) 2019-06-21 15:29:29 -07:00
rghetiaandGitHub 3c3532fb04 Add SetStatus, SpanContext and IsRecordingEvent (#12)
* Add span apis.
- SetStatus
- SpanContext
- IsRecordingEvent

* fix formatting.

* use grpc/codes.Code

* change Option to SpanOption

* fix format errors.
2019-06-19 10:44:46 -07:00
rghetiaandGitHub b4a8d21a36 add license text. (#10) 2019-06-14 13:09:41 -07:00
Joshua MacDonaldandrghetia e17f4468a6 Golang opentelemetry-go draft API (incomplete) (#9)
* Work in progress from https://github.com/lightstep/opentelemetry-golang-prototype

* Renames

* Rename

* Finish rename

* Rename packages

* README
2019-06-14 11:37:05 -07:00