* #1674 validate version from traceparent according to spec
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* add test
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* add test
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* rename TraceVersion to WireFormatUtils
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* rename test method
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* use precalculated versions
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* get rid of unneded class
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* get rid of empty lines
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* fix style
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* Add w3c context propagation tests
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* add sleep for printing test results
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* add Environmental requirements
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* use far jar to run
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* run integration tests in circleci
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* change image
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* reformat
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* pip3 to pip
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* upgrade pip
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* missing colon
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* install pip3
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* do not install pip3
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* install python 3 and pip3
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* install python 3 and pip3
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* install python 3 and pip3
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* install python 3 and pip3
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* install python 3 and pip3
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* install python 3 and pip3
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* add /usr/local/bin to PATH
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* call /usr/local/bin/pip3 to PATH
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* get rid of automation
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* refactor extractor to pass more tests
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* de-duplicate fields in TraceMultiPropagator
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* reformat
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* de-duplicate fields in DefaultContextPropagators
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* use containsExactlyInAnyOrder
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* use LinkedHashSet to preserve order
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* Reverse the precedence on Labels and Attributes to prefer the last one added, rather than the first.
Note: this necessitated changing the way Resources were merged, and the way recordException was implemented.
Added an addAll method to the builder to support efficiently addition of attributes from existing attributes.
* run the formatter
* revert 2 unneeded assertion changes
* Update from rebase
* Change built-in SpanProcessor implementations to ignore more than one shutdown call
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* refactor with AtomicBoolean
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
* Add a generic type for the key on the ImmutableKeyValuePairs.
This necessitated changing the `get` to `getValue` to avoid clashing with the java.util.Map interface.
Also introduced convenience sub-interfaces for consuming labels and attributes, so consumers don't have to worry about the types if they don't want to.
* Make AttributesMap not extend map, and restore the get method name for Attributes.
* key class and implementation
* key class and implementation
* The code compiles
* little tweaks
* some cleanup, tests are passing
* remove AttributeValue and clean up misc. references to it.
* clean up some unused bits
* add a TODO
* a bit of cleanup; fix a todo
* update for changes from the main branch
* Change method to get the underlying key.
Move the key creators to a AttributesKeys class.
Hide the implementation classes and replace with interface use.
* use autovalue for the key implementations
* fix javadoc issues
* update benchmark keys, and a few tweaks from PR review
* Add javadoc notes to encourage using the lower-overhead attribute options.
* Add javadoc clarifying subclass responsibilities around empty keys.
* make the compareTo on AttributeKeyImpl null-safe, for extra safety
* fix formatting
* switch to java 8
* update the READMEs and use Object.equals in a couple of cases to test that we're really compiling for java 8/android 24.
* formatting
* use the newer release options for the build, and change the int test to not be java 7 any more.
* switch back to source/target compatibility
* sure wish I could run docker locally to test this out.
* move TraceFlags into the SpanContext, and expose the relevant flags.
* Cleanup from rebase from main branch
* Address comments from PR review
* Update extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagator.java
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
* Undo @anuraaga's bad suggestion. ;)
* change the traceFlags input to the TraceContext be a byte, rather than a boolean.
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
* Add a generic type for the key on the ImmutableKeyValuePairs.
This necessitated changing the `get` to `getValue` to avoid clashing with the java.util.Map interface.
Also introduced convenience sub-interfaces for consuming labels and attributes, so consumers don't have to worry about the types if they don't want to.
* Add some javadoc to the new interfaces.
* Make AttributesMap not extend map, and restore the get method name for Attributes.
* make ImmutableKeyValuePairs also have a parameterized key type