* add a section on class member ordering, since it's not covered in the google style guide
* add an item about toString methods
* add a note about final fields coming before non-final
* Add rationale and description of the release and versioning strategy.
* typo fix
* alternate version of the versioning strategy that tags the version rather than the artifact.
* add context for clarity
* Update docs/rationale.md
Co-authored-by: Nikita Salnikov-Tarnovski <gnikem@gmail.com>
* add some additional flavor about internals and mention the bom in an example
Co-authored-by: Nikita Salnikov-Tarnovski <gnikem@gmail.com>
This ensure clear separation of functionality. This PR does not change any functionality, it just restructures the code to separate global functionality from
the Default implementation. Also helps to ensure that Global initialization does not happen by mistake when working only with the default implementation.
Also it helps with methods like `OpenTelemetry.get()` and `OpenTelemetry.set()` to understand they are interacting with global instance
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
This ensure clear separation of functionality. This PR does not change any functionality, it just restructures the code to separate global functionality from
the Default implementation. Also helps to ensure that Global initialization does not happen by mistake when working only with the default implementation.
Also it helps with methods like `OpenTelemetry.get()` and `OpenTelemetry.set()` to understand they are interacting with global instance
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
The code already existed as part of the instrument, but it was extracted in a separate concept,
and all Sync/Async instruments look very similar: Descriptor + Accumulator.
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
* Update types to reflect the names in proto
NON_MONOTONIC_SUM will be soon merged with SUM and offer the "isMonotonic" as a property.
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
* Update names to follow, type + aggregation pattern
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
This PR fixes a small bug where the AllLabels implementation was expecting "unmapped" boolean, which was passed correctly by the Sync instruments, but incorrectly by the Async.
This causes an unnecessary allocation for all the async instruments recordings.
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
* Refactored benchmark to use OTLP exporter and collector
* Refactoring to add benchmarks with Simple and Batch span processors
* Removing otlp exporter from the collector config
* Using setTraceConfig to set the initial config rather than update it
* Spotlessapply
* Rename batcher to instrumentaccumulator, remove active batcher (not used)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
* Fix tests, add back check for has records
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>