1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2024-12-04 09:43:23 +02:00
Commit Graph

175 Commits

Author SHA1 Message Date
Joshua MacDonald
dfae2acc6c
Fix the defaultkeys metrics batcher (#333) 2019-11-19 13:25:24 -08:00
rghetia
9d1a0d538f
go module update for release v0.1.2 (#330) 2019-11-18 11:14:49 -08:00
Gustavo Silva Paiva
3495d74971 specialize simplelru(span's lruMap) for attributes only (#328)
* copy of simplelru for attributes without excessive usage of interface{}

This also make sure we only add attributes/links if isRecording.

Move method to export the attributes list to attributeMap.

* run make precommit to update mod files.
2019-11-18 10:51:57 -08:00
ferhat elmas
eb3b31e12d Unslice to simplify (#324) 2019-11-18 10:47:04 -08:00
ferhat elmas
90ba74e15a Fix url to website in readme (#323) 2019-11-15 15:22:17 -08:00
Joshua MacDonald
9878f3b700 Metrics stdout export pipeline (#265)
* Add MetricAggregator.Merge() implementations

* Update from feedback

* Type

* Ckpt

* Ckpt

* Add push controller

* Ckpt

* Add aggregator interfaces, stdout encoder

* Modify basic main.go

* Main is working

* Batch stdout output

* Sum udpate

* Rename stdout

* Add stateless/stateful Batcher options

* Undo a for-loop in the example, remove a done TODO

* Update imports

* Add note

* Rename defaultkeys

* Support variable label encoder to speed OpenMetrics/Statsd export

* Lint

* Doc

* Precommit/lint

* Simplify Aggregator API

* Record->Identifier

* Remove export.Record a.k.a. Identifier

* Checkpoint

* Propagate errors to the SDK, remove a bunch of 'TODO warn'

* Checkpoint

* Introduce export.Labels

* Comments in export/metric.go

* Comment

* More merge

* More doc

* Complete example

* Lint fixes

* Add a testable example

* Lint

* Let Export return an error

* add a basic stdout exporter test

* Add measure test; fix aggregator APIs

* Use JSON numbers, not strings

* Test stdout exporter error

* Add a test for the call to RangeTest

* Add error handler API to improve correctness test; return errors from RecordOne

* Undo the previous -- do not expose errors

* Add simple selector variations, test

* Repair examples

* Test push controller error handling

* Add SDK label encoder tests

* Add a defaultkeys batcher test

* Add an ungrouped batcher test

* Lint new tests

* Respond to krnowak's feedback

* Undo comment

* Use concrete receivers for export records and labels, since the constructors return structs not pointers

* Bug fix for stateful batchers; clone an aggregator for long term storage

* Remove TODO addressed in #318

* Add errors to all aggregator interfaces

* Handle ErrNoLastValue case in stdout exporter

* Move aggregator API into sdk/export/metric/aggregator

* Update all aggregator exported-method comments

* Document the aggregator APIs

* More aggregator comments

* Add multiple updates to the ungrouped test

* Fixes for feedback from Gustavo and Liz

* Producer->CheckpointSet; add FinishedCollection

* Process takes an export.Record

* ReadCheckpoint->CheckpointSet

* EncodeLabels->Encode

* Format a better inconsistent type error; add more aggregator API tests

* More RangeTest test coverage

* Make benbjohnson/clock a test-only dependency

* Handle ErrNoLastValue in stress_test
2019-11-15 13:01:20 -08:00
Wei Fu
c3d5b7b16d remove empty package (#322)
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2019-11-15 00:23:36 -08:00
Alyson van Hardenberg
64eaee8b0b fix typo in othttp handler (#321) 2019-11-14 16:42:29 -08:00
Joshua MacDonald
ee87858c09 Avoid one memory allocation in LabelSet construction (#318) 2019-11-14 13:13:42 -08:00
Gustavo Silva Paiva
9d19d8296c Clear NoopTracer implementation and improve Tracer argument names (#314)
* clean dead code from noop tracer

* rename arguments from the Tracer interface's methods

* remove service, resources and component options from sdk/tracer and mock tracer

* remove unused fields from sdk/tracer
2019-11-14 10:50:20 -08:00
Gustavo Silva Paiva
1fd93b293c change trace.WithAttributes to append values instead of replacing (#315)
* change trace.WithAttributes to append values instead of replacing

* improve doc
2019-11-14 18:03:23 +00:00
Cheng-Lung Sung
a228bafec5 exporter(stackdriver): fix ExportSpans when ctx is not nil (#294)
* exporter(stackdriver): fix ExportSpans when ctx is not nil

- problem: if ctx is not, calling cancel() will panic
- nil Context already handled in newContextWithTimeout
- add with test

* update go.sum

* mock traceserver for traceclient

* make precommit

* - respect option.Context when get google cred and traceclient

* Revise with timeout, context

- rename blackbox tests package to stackdriver_test
- remove context is nil checking, add to initialization
- add tests for timeout
2019-11-14 09:45:17 -08:00
Liz Fong-Jones
f403198454 propose additional CODEOWNERS (#313)
* propose additional CODEOWNERS

* remove freeformz from approver nomination

* no partial ownership
2019-11-14 09:21:59 -08:00
Gustavo Silva Paiva
b6ada23338 Fix CI modules cache (#316) 2019-11-13 22:28:15 -08:00
Bogdan Drutu
29509781bd
Remove myself from CODEOWNERS (#308)
I am not capable of reviewing any important PR in this repo, and cannot follow everything that happens.
2019-11-12 07:42:32 +02:00
Joshua MacDonald
769a03ac97 Use a formula for tolerance in sampling tests (#298) 2019-11-08 11:11:59 -08:00
Joshua MacDonald
2546646050
Fix metric SDK race condition (#293)
* Initial fix

* benchmark acquire

* Rename handle benchmarks
2019-11-06 10:54:36 -08:00
Joshua MacDonald
68bd627ac2
Move export types into trace and metric-specific subdirs (#289) 2019-11-05 13:08:55 -08:00
Cheng-Lung Sung
17439d879c [example/jaeger] Remove prefix slash in Tracer.Start() (#292)
- trivial fix, original example generates "component-main//foo", which
  should be "component-main/foo"
2019-11-05 09:18:09 -08:00
Liz Fong-Jones
2ac5725bc3 update README for v0.1.0 (#291) 2019-11-05 05:49:02 -08:00
Joshua MacDonald
1bfa1aa429
Change SpanKind type an integer type (#288)
* Change SpanKind to an integer

* Take suggestion

* Use the helper from the bridge
2019-11-04 16:05:43 -08:00
Joshua MacDonald
9040d824ae
Add array aggregation for raw measure metrics, improve testing (#282)
* Array aggregator part 1

* Improve median testing

* More testing

* More testing

* Update other dist tests

* Add to the benchmark

* Move errors into aggregator package, use from ddsketch; update Max/Min/Quantile to return errors for array/ddsketch/maxsumcount

* Lint

* Test non-absolute ddsketch

* Lint

* Comment

* Add note
2019-11-04 14:24:01 -08:00
Cheng-Lung Sung
6b48fce4ec example/basic: make basic example work (#279)
* example/basic: make basic example work

- use stdout as exportor (otherwise no output when you run it)

* meter does not work yet, rephrase TODO
2019-11-04 12:23:23 -08:00
Cheng-Lung Sung
881e51f708 Add MarshalJSON for core.Value (#281)
- fix #280, where stdout export will not print Attributes value from
  MessageEvents.
- add unit test for it.
2019-11-04 13:46:34 -06:00
Liz Fong-Jones
d25fae7c10 set attributes in tracer.Start() (#286)
* set attributes in tracer.Start()

* add tests

* remove no longer needed attribute additions
2019-11-04 11:04:38 -08:00
Liz Fong-Jones
e99cac2ccc
bump dependent module versions for Stackdriver/Jaeger (#285)
* bump dependent module versions.

* update example hashes too.
2019-11-04 15:39:23 +01:00
Liz Fong-Jones
9f82c642f5
use LinkedTo rather than ChildOf for PublicEndpoint (#272)
This causes us to no longer emit missing root spans if we do not have the trace associated with the tracing headers we receive on public endpoints.
2019-11-04 14:03:40 +01:00
Gustavo Silva Paiva
ecf3bb9d7c handle multiples connect start/done trace (#283)
* handle race condition: close handled before open

* add dummy noop span.

* add test for clienttrace

* accept multiples `ConnectStart`/`ConnectDone` trace hooks.

* formatting

*  change argument name and add error/attributes to end method.

* add tests for connection race condition
2019-11-03 15:46:57 -08:00
Cheng-Lung Sung
50a419f477 api/distributedcontext: add Map unit tests (#270)
- also update with new module dir
2019-11-02 14:46:13 -07:00
Liz Fong-Jones
440b6653c9 remove rSSP and rBSP code, use NewProvider instead. (#271) 2019-11-01 16:35:18 -07:00
Gustavo Silva Paiva
8b061a2102 Improve Value.Emit() with strconv. (#262)
* use strconv instead of fmt.Sprint

* rollback float it has no significant improvement on time and worse allocated bytes.

* change int32 and uint32 to separate cases.
2019-11-01 12:06:33 -07:00
rghetia
15bfc5bb12
Namespace import path under "/otel" (#274)
Also fixes example module paths so that they use the vanity URL instead
of the github URL.

[Closes #184]
2019-11-01 11:40:29 -07:00
Gustavo Silva Paiva
a71ec85f5e add gitter icon to readme (#269) 2019-10-31 21:56:25 -07:00
Liz Fong-Jones
f829598cbd Update go.mod for stackdriver exporter (#267)
* Update go.mod

* update example import
2019-10-31 15:08:26 -07:00
Krzesimir Nowak
cb1e6f59f6 document api/core and api/key packages (#263) 2019-10-31 14:55:51 -07:00
Eran Levy
579e0ce7c6 add more test cases to jaeger exporter and fix comments (#242)
* fix comments and add jaeger tests

* add more jaeger tests

* remove TODOs and add more jaeger tests

* remove TODOs and add more jaeger tests

* fix jaeger tests

* add jaeger agent tests

* fix merge conflicts and fix test

* fix test name
2019-10-31 10:52:46 -07:00
Cheng-Lung Sung
903908ddad add unit test (key.String) to key api (#260)
follow issue #51
2019-10-31 09:31:46 -07:00
Joshua MacDonald
8862436993 Support named Meters, use global package (#258)
* Support named Meters, use global package

* Comments/typos fixed
2019-10-30 23:35:02 -07:00
Joshua MacDonald
915775e348
Add MetricAggregator.Merge() implementations (#253)
* Add MetricAggregator.Merge() implementations

* Update from feedback

* Type
2019-10-30 22:15:27 -07:00
Krzesimir Nowak
563985f5d1 Shrink core.Value (#256)
* shrink the value type

went down from 40 bytes to 24

* add missing license blurb

* stringify value type

* print string value types in stdout exporter

* make Value function take a pointer receiver
2019-10-30 15:01:19 -07:00
Joshua MacDonald
de6715fca3
Remove the distributedctx.Mutator (#252)
* Remove the distributedctx.Mutator

* Remove unused field

* Update examples
2019-10-30 13:21:13 -07:00
Krzesimir Nowak
25e97e56a4 move mock tracer to internal/metric (#259)
* export noop meter

* move mock meter to internal/metric package
2019-10-30 12:59:34 -07:00
Joshua MacDonald
88dafbbb16
Remove NewZeroNumber in favor of Number(0) (#255) 2019-10-30 11:22:14 -07:00
Joshua MacDonald
320c62a780
Remove BYTES values, as they are are not thread safe (#249)
* Remove BYTES values, as they are mutable

* Remove more BYTES
2019-10-30 10:20:53 -07:00
Krzesimir Nowak
a2f3dcaf9a build all tests and run all tests too (#254)
golangci-lint runs its checks also on tests files, so make sure that
they build properly before running the linter. there is no obvious
solution to just build all the test without running them, so to work
that around, we specify a -run flag with a value that surely isn't
going to match any test function any time soon. that way we build all
the tests, but no test is run.

also, `go list ./...` returns only packages in the module, but no
packages within submodule, so exporter/trace/jaeger (which is a
submodule) was never on the list. so go test with those packages never
ran the jaeger trace exporter tests. fix this by visiting every
directory with the go.mod file and calling go test [options]
./... therein.
2019-10-30 10:09:18 -07:00
Krzesimir Nowak
cdf3f492d1 run go build on all modules to catch compilation errors (#250)
golangci-lint just issues an unreadable warning and quits with a
successful exit status on compilation error. just run a round of go
build ./... to catch those as hard errors.
2019-10-29 21:32:18 -07:00
Edward Muller (SFDC)
f420f7409d sdk/trace: Test the Sampling Probability (#247)
* sdk/trace: Test the Sampling Probability

Closes #163

* Add tests for when the parent is sampled.
2019-10-29 16:53:50 -07:00
Joshua MacDonald
937f4ff8b0
Metrics SDK work-in-progress (#172)
Introduce the new SDK, four aggregators, and an export interface.
2019-10-29 13:27:22 -07:00
Krzesimir Nowak
7d301220a2 Automate getting the list of examples to build (and switch to go 1.13 to avoid module problems) (#246)
* automate building all the examples

the EXAMPLES variable was out of date - the stackdriver example wasn't
even built

let's automate it, so we don't need to remember about updating the
variable after adding a new example to the examples directory

* move jaeger example to example directory

this should be in the examples directory, so it can be built by the
make test during CI.

* switch to go 1.13

circle ci uses go 1.12 (which is the oldest 1.12 release) that
contains some bugs with module handling

let's switch to go 1.13.3, the latest go currently

* use a single valid revision of the project in go.mod files

this probably shouldn't be a problem since the switch to go 1.13 in
circle ci, but cleans up the mess and the use of bogus releases
2019-10-29 08:45:48 -07:00
Krzesimir Nowak
8013f4789d Move opentracing bridge out of experimental (#245)
* move bridge out of the experimental directory

* drop a leftover from experimental stuff in gitignore

found by accident when doing `git grep experimental`.
2019-10-28 16:56:11 -07:00