Commit Graph

405 Commits

Author SHA1 Message Date
Nikita Salnikov-Tarnovski 70e84334c0
Add new configuration option to limit the size of string attribute values (#1484)
* Add new configuration option to limit the size of string attribute values

* Polish

* Polish

* Polish

* Polish

* Add benchmark.

* Format

* Format
2020-08-03 08:11:58 -07:00
Anuraag Agrawal 6dffbb8fc4
Migrate tests to JUnit5 (#1489)
* Add JUnit 5 dependency

* Revert unintended
2020-07-31 11:10:27 -07:00
Anuraag Agrawal 8005c7eddd
Return a readable tostring for attribute setters. (#1470) 2020-07-27 13:39:43 +02:00
Helen Y 8525405239
Update database attributes (#1459)
* Add new database attributes

* Address comments

* Update javadoc and rename

* Update javadoc for Cassandra.

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>

* Rename Cassandra constant.

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>

* Apply GoogleJavaFormat

* Fix javadoc exception

* Delete db.url

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
2020-07-24 13:33:53 -07:00
Anuraag Agrawal f816ad5733
Implement Span.recordException (#1434)
* Implement Span.recordException

* License

* javadoc

* Fix javadoc

* Tests for DefaultSpan

* PrintStream benchmark

* Check arguments

* Use StringWriter

* more merge and event name

* Remove timestamp recordException
2020-07-22 18:53:26 -07:00
Giovanni Liva 88da16e3ed
Forbid empty/null keys (#1440) 2020-07-22 16:20:44 +02:00
Anuraag Agrawal 498b245c57
Add version of attribute setters that operate on Attributes. (#1446) 2020-07-21 20:00:31 -07:00
John Watson af54bee5d8
Return Invalid Spans from the no-op Tracer when there is no SpanContext (#1386)
* return an invalid span from the no-op tracer, rather than a random span, when there is no span context.

* add a test to verify that no context means an invalid span
2020-07-21 19:26:26 -07:00
John Watson 73d8edcf39
Change numeric attributes to be numeric (#1443) 2020-07-21 19:19:38 -07:00
Anuraag Agrawal f5452f4f2b
Remove null checks in Span API. (#1433)
* Remove null checks in Span API.

* Add tests and loosen events as well.
2020-07-20 19:00:13 -07:00
Anuraag Agrawal 1b0f20d647
Reuse char[] when constructing trace context header for injection. (#1432)
* Reuse char[] when constructing trace context header for injection.

* Spotless

* License
2020-07-20 09:06:56 -07:00
Carlos Alberto Cortez 2f204c2bb0
Add overloads for setParent(Context context). (#1262)
* Add overloads for setParent(Context context).

* Fix the original version.

* Apply feedback.

* Update version for CorrelationContext.

* Add simple extra test for DefaultCorrelationContextManagerTest.
2020-07-17 08:42:01 -07:00
Nikita Salnikov-Tarnovski 2ec91e1763
Add semantic attributes for messaging (#1410) 2020-07-14 15:07:10 +02:00
John Watson e1ddcaec24
update errorprone, grpc and autovalue (#1403)
Also, clean up new errorprone warnings
2020-07-12 07:56:44 -07:00
Anuraag Agrawal f7b7681610
Don't allow null error messages and some cleanup (#1404) 2020-07-10 08:32:12 -07:00
John Watson 7ca698f845
Add a toBuilder method to Labels (#1399)
* Add a toBuilder method to Labels

* add a toString to the pairs, for debugging/testing

* tweak the toString implementation to match that of Map
2020-07-09 08:36:23 -07:00
Carlos Alberto Cortez 890ba28fbc
MultiTracePropagator implementation (#1339) 2020-07-01 19:14:21 +02:00
Anuraag Agrawal 50a424c4b4
Add semantic attribute for peer.service (#1379) 2020-06-30 09:35:47 -07:00
Anuraag Agrawal 35eb6411e9
Add semantic attributes for HTTP content length. (#1376) 2020-06-26 13:56:03 +02:00
John Watson 24b4be90c3
Convert CorrelationContext entry keys and values to simple Strings (#1363)
* convert CC entry keys and values to simple Strings

* fix broken javadoc
2020-06-22 14:37:21 -07:00
Bogdan Drutu d02667929b
Change instrument operations to use immutable Labels (#1358)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-06-18 13:48:39 -07:00
Tyler Benson b685eab4fa
Fix OpenTelemetry since versions. (#1359)
These API's weren't added until 0.5.0.
2020-06-18 21:52:15 +02:00
Bogdan Drutu 4633676593
Use lambda references where possible (#1355)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-06-18 11:54:14 -07:00
Bogdan Drutu 42cdd7ed3d
Use the new immutable Labels for Bind (#1354)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-06-18 11:53:41 -07:00
Nikita Salnikov-Tarnovski 46f0c5f0b7
Extension packages should not use "internal" API package (#1342)
* Extension packages should not use "internal" API package

Add InternalApiProtectionTest which uses ArchUnit to enforce architectural constraints.
This change only verifies that classes in `extensions` packages do not use classes in `internal` package of API module.

Test was added into `opentelemetry-all` module because the latter depends on all other submodules
and therefore sees all classes in the project.

* Polish

* Polish
2020-06-18 09:10:18 -07:00
Bogdan Drutu 76ef38955a
Start using real java8 in tests. (#1352)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-06-18 09:09:28 -07:00
Bogdan Drutu b734e366ec
Change to use labels for async instruments (#1349)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-06-17 17:22:32 -07:00
John Watson 922891cfed
fix compiler error about lambdas (#1346) 2020-06-17 14:35:39 -07:00
Bogdan Drutu 2312932a76
Add a ReadableKeyValuePairs and make ReadableAttribute a simple sub-interface (#1340)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-06-17 11:05:43 -07:00
jarebudev 22f5b1a15b
use java 8 for tests (#1237)
* use java 8 for tests, and disabled specific errorprone checks for tests

* modified existing test to use java 8 features

* updated contributing doc
2020-06-17 11:05:27 -07:00
John Watson fccc6d9bc3
Convert the usages of the LabelSetSdk to use the Labels class. (#1338) 2020-06-17 10:43:11 -07:00
John Watson f1f5975d5c
Introduce an ReadableAttributes interface, with 2 implementations (#1336)
* Introduce an Attributes interface and have ImmutableAttributes and the AttributesMap implement it.

* make the attribute limiting a little clearer.

* tiny javadoc fix

* Rework to restore the Attributes class, and introduce a ReadableAttributes interface

* polish the javadoc a bit

* fix some broken javadoc

* revert example change; revert test name change

* javadoc de-escalation

* fix bad merge
2020-06-17 09:29:52 -07:00
John Watson 7644ef4d56
Convert SpanData to use immutable Attributes (#1330) 2020-06-15 17:51:49 +02:00
Nikita Salnikov-Tarnovski 546867b1ff
Allow setting semantic attributes on Span.Builder (#1317)
* Allow setting semantic attributes on Span.Builder

* Make test actually verify something
2020-06-10 12:53:09 -07:00
John Watson d80bd1ad67
Convert Link and Event types to use the new immutable Attributes (#1325)
* Convert Link and Event types to use the new immutable Attributes

update from the upstream branch

update from parent branch changes

* move the limiting of attributes to a custom consumer class
2020-06-10 12:13:57 -07:00
John Watson ee435201b5
Immutable Attributes and Labels (#1304)
* prototype for class to replace Map<String, AttributeValue)

* safely copy the builder's data

* add the empty constant

* optimization for attributes with a single key/value

* Add an iterator/iterable and some simple tests

* fix animalsniffer complaint

* tests for de-duping and order-independent equality, plus removal of possibly unneeded access methods.

* clean up the sort&filter method a tad

* replace the iterator with a foreach method

* Make the Attributes parameterized by the value type.

* Add basic javadoc

* remove helper class; add a simple test for the builder; make the tests more robust

* Add a varargs method for creating an arbitrary number of key/value pairs.

* static import the check method, for consistency

* Refactor to have an interface and two implementations, with some shared logic.

* fix an accidental rename

* really fix it for real

* add a few more tests

* preserve the `setAttribute` names from existing Span API

* Replace the treemap sorting and filtering with a quicksort and post-filter.

* remove an unneeded list.

* switch to an abstract base class to remove some code duplication

* Updated docs based on feedback.

* Small change to use the builder for the empty implementations.
2020-06-08 17:16:39 -07:00
Bogdan Drutu afabbd1e06
Remove duplicate Result interfaces (#1312)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-06-05 14:37:50 -07:00
Shivkanya Andhare b68b994b6c
Fix:spelling mistakes (#1294)
* Fix:spelling mistakes

* Fix:spelling mistakes
2020-05-31 15:49:32 -07:00
Carlos Alberto Cortez dbf365c978
Do not inject invalid SpanContext instances. (#1285) 2020-05-29 08:57:31 -07:00
Bogdan Drutu 833c30af98
Do not allow adding attributes, links after startSpan. (#1266)
* Do not allow adding attributes, links after startSpan.

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

* Add tests for edge cases

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-05-26 06:47:24 -07:00
shivkanya9146 ff4d055655
Fix:Spelling mistake (#1270) 2020-05-25 14:16:40 -07:00
Bogdan Drutu 84f5a3eab0
Add API for ValueObserver (#1265)
* Add API for ValueObserver

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

* Address feedback

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-05-22 06:32:06 -07:00
John Watson ccb99f1c4c
change the naming of the SPI provider classes to be less confusing and line up with the auto-instrumentation project (#1261) 2020-05-21 14:05:01 -07:00
Bogdan Drutu 33b33c17f9
Add more tests for the metrics API (#1251)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-05-20 06:30:24 -07:00
Bogdan Drutu 6d2a8a6f54
Remove check for non-negative values in ValueRecorder (#1247)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-05-19 16:02:18 -07:00
Bogdan Drutu 8a1a241efa
Rename Measure to ValueRecorder, fix comments and javadoc (#1243)
* Rename Measure to ValueRecorder, fix comments and javadoc

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

* Fix more legacy javadoc

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

* Address feedback

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-05-19 11:31:16 -07:00
John Bley 49f271f3a1
Correct spelling of key/file for the TraceProvider service lookup. (#1240)
* Correct spelling of key/file for the TraceProvider service lookup.

* More name fixing.

* Java Format.
2020-05-18 08:26:51 -07:00
Bogdan Drutu 317ccbc393
Add API for UpDownSumObservers (#1220)
* Add API for UpDownSumObservers

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

* Fix minor nits

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

* Fix more nits

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-05-15 12:07:12 -07:00
Bogdan Drutu 019c4dbe19
Add a Builder in the SynchronousInstrument (#1221)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-05-15 09:06:08 -07:00
Bogdan Drutu f9c054c3c5
Remove absolute property from measure (#1219)
* Remove absolute property from measure

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

* Fix tests

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-05-14 12:25:55 -07:00