Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] main from open-telemetry:main #308

Open
wants to merge 63 commits into
base: main
Choose a base branch
from
Open

Conversation

pull[bot]
Copy link

@pull pull bot commented Jul 11, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Jul 11, 2024
@codecov-commenter
Copy link

codecov-commenter commented Jul 11, 2024

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

Attention: Patch coverage is 83.42246% with 31 lines in your changes missing coverage. Please review.

Project coverage is 87.79%. Comparing base (6dbfdb5) to head (c37df23).

Files with missing lines Patch % Lines
...metrics/export/periodic_exporting_metric_reader.cc 67.86% 9 Missing ⚠️
exporters/ostream/test/ostream_log_test.cc 25.00% 6 Missing ⚠️
...k/src/metrics/aggregation/lastvalue_aggregation.cc 40.00% 6 Missing ⚠️
exporters/memory/src/in_memory_metric_data.cc 84.22% 3 Missing ⚠️
sdk/src/metrics/meter_context.cc 76.93% 3 Missing ⚠️
sdk/src/logs/logger_provider.cc 50.00% 2 Missing ⚠️
sdk/src/metrics/aggregation/sum_aggregation.cc 0.00% 2 Missing ⚠️

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #308      +/-   ##
==========================================
+ Coverage   87.66%   87.79%   +0.14%     
==========================================
  Files         190      195       +5     
  Lines        5855     5953      +98     
==========================================
+ Hits         5132     5226      +94     
- Misses        723      727       +4     
Files with missing lines Coverage Δ
...telemetry/baggage/propagation/baggage_propagator.h 100.00% <ø> (ø)
...ude/opentelemetry/common/key_value_iterable_view.h 94.45% <ø> (ø)
api/include/opentelemetry/context/context.h 100.00% <ø> (ø)
...pi/include/opentelemetry/context/runtime_context.h 97.50% <ø> (ø)
api/include/opentelemetry/nostd/function_ref.h 77.78% <ø> (ø)
api/include/opentelemetry/nostd/string_view.h 98.08% <ø> (+0.12%) ⬆️
api/include/opentelemetry/nostd/variant.h 66.67% <ø> (ø)
api/include/opentelemetry/trace/noop.h 93.34% <ø> (ø)
api/include/opentelemetry/trace/provider.h 100.00% <ø> (ø)
api/include/opentelemetry/trace/scope.h 100.00% <ø> (ø)
... and 45 more

... and 2 files with indirect coverage changes

marcalff and others added 27 commits July 12, 2024 12:17
* add test to validate cardinaity limit

* format

* warning

* Format

* maint mode CI

* modify test to reproduce the issue

* Format

* remove vscode settings

* remove redundant test

* remove unused code

* fix to calculate hash on string_view

* remove iostream

* template specialization for const char *, and varous string type tests

* unused variable warning

* more warnings

* format

* fix use-after-stack-scope

* format

* another try

* format

---------

Co-authored-by: Tom Tan <Tom.Tan@microsoft.com>
* support empty buckets

* Update histogram_test.cc

* Update histogram_test.cc

* test for negative values

* fix count
* Fix overflow in timeout logic

Also use steady clock consistently.

Prior to this change, the test would fail under ASAN:

bazel test --config=asan --test_output=errors //sdk/test/metrics:meter_provider_sdk_test
INFO: Analyzed target //sdk/test/metrics:meter_provider_sdk_test (0 packages loaded, 0 targets configured).
FAIL: //sdk/test/metrics:meter_provider_sdk_test (see /private/var/tmp/_bazel_punya/e3bd968ba61238cdeb1a5537fc3dbf7d/execroot/_main/bazel-out/darwin_arm64-fastbuild-asan/testlogs/sdk/test/metrics/meter_provider_sdk_test/test.log)
INFO: From Testing //sdk/test/metrics:meter_provider_sdk_test:
==================== Test output for //sdk/test/metrics:meter_provider_sdk_test:
Running main() from gmock_main.cc
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from MeterProvider
[ RUN      ] MeterProvider.GetMeter
[Warning] File: sdk/src/metrics/meter_provider.cc:65 [MeterProvider::GetMeter] Library name is empty.
[Warning] File: sdk/src/metrics/meter_provider.cc:65 [MeterProvider::GetMeter] Library name is empty.
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/duration.h:102:59: runtime error: signed integer overflow: 9221646818050376183 * 1000 cannot be represented in type '_Ct' (aka 'long long')
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/duration.h:102:59 in 
================================================================================
INFO: Found 1 test target...
Target //sdk/test/metrics:meter_provider_sdk_test up-to-date:
  bazel-bin/sdk/test/metrics/meter_provider_sdk_test
INFO: Elapsed time: 2.251s, Critical Path: 2.13s
INFO: 5 processes: 5 darwin-sandbox.
INFO: Build completed, 1 test FAILED, 5 total actions
//sdk/test/metrics:meter_provider_sdk_test                               FAILED in 0.6s
  /private/var/tmp/_bazel_punya/e3bd968ba61238cdeb1a5537fc3dbf7d/execroot/_main/bazel-out/darwin_arm64-fastbuild-asan/testlogs/sdk/test/metrics/meter_provider_sdk_test/test.log

Executed 1 out of 1 test: 1 fails locally.

Fix overflow in periodic_exporting_metric_reader

* Add missing tests to Bazel build by globbing test files

Previously, we were missing
* instrument_metadata_validator_test
* observable_registry_test
* cardinality_limit_test
* periodic_exporting_metric_reader_test
And there were no checks in place to prevent things from getting worse.

Remove unnecessary exception checks in attributes_hashmap_test,
which simplifies the build and CI script.

Resolve symbol collision using anonymous namespaces.

---------

Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com>
The logging exporter was renamed debug in 2023, the logging exporter will be removed in the near future, updating the example accordingly.
The logging exporter was renamed debug in 2023, the logging exporter will be removed in the near future, updating the example accordingly.

Co-authored-by: Marc Alff <marc.alff@oracle.com>
This exporter has been replaced by the debug exporter and will be removed soon

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>
fabriziomello and others added 30 commits September 20, 2024 15:49
Looks like otel-collector equal or higher than 0.86.0 has the "debug"
exporter.

So updated the README.md with the latest version of the otel-collector
(v0.109.0) and also the CI script.
using constructor with user given options (#3078)

 Closes #3078
…structor" warning with gcc <= 8 (#3087)

gcc <= 8, when building with -Wextra (and -Werror) wrongly raises this:
/data/mwrep/res/mdw/SIOTF/internal/opentelemetry_cpp/trace/18-0-0-7/include/opentelemetry/trace/default_span.h: In copy constructor 'opentelemetry::v1::trace::DefaultSpan::DefaultSpan(const opentelemetry::v1::trace::DefaultSpan&)':
/data/mwrep/res/mdw/SIOTF/internal/opentelemetry_cpp/trace/18-0-0-7/include/opentelemetry/trace/default_span.h:70:3: error: base class 'class opentelemetry::v1::trace::Span' should be explicitly initialized in the copy constructor [-Werror=extra]
   DefaultSpan(const DefaultSpan &spn) noexcept : span_context_(spn.GetContext()) {}
   ^~~~~~~~~~~

See on Compiler Explorer here: https://godbolt.org/z/ed5rv74nT

I believe Jason Merrill fixed it in gcc for all gcc >= 9 with:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=f3f7cefecc833b4ab652215ceb8b408c21dca225;hp=777083bb806dbe31ab97002b7d445191d3ee7a2d

Workaround this by calling explicitly the empty Span constructor.
* Fix compiling problems for gcc 4.8

* Apply suggestions from code review

---------

Co-authored-by: Marc Alff <marc.alff@free.fr>
* Fix link order

* Fix gmock linking
* Add a CMake option to disable shared libs

This option is useful to support platforms that do not support
dynamic libraries and `dlopen`.
std::aligned_storage was deprecated in C++23.
Abseil removed its aligned_storage in abseil/abseil-cpp@4213346
* [EXPORTERS]: elastic search log message within `message` key instead of
`body`

According to ECS logging reference
https://www.elastic.co/guide/en/ecs/8.11/ecs-base.html#field-message

Refs #3091

* [EXPORTERS]: elastic search set severity within `log.level` key instead of
    `severity`

According to ECS logging reference
https://www.elastic.co/guide/en/ecs/8.11/ecs-log.html#field-log-level

Refs #3091

* [EXPORTERS]: elastic search set timestamp within `@timestamp` instead of
`timestamp`

Also changes the format to be a Date string.

According to ECS logging reference
https://www.elastic.co/guide/en/ecs/8.11/ecs-base.html#field-timestamp

Refs #3091

* [EXPORTERS]: elastic search set instrumentation scope within `log.logger` instead of
`name`

According to ECS logging reference
https://www.elastic.co/guide/en/ecs/8.11/ecs-log.html#field-log-logger

Refs #3091

* EXPORTERS]: elastic search recorable constructor sets `ecs.version` field
to 8.11.0

According to ECS guidelines this field is mandatory
https://www.elastic.co/guide/en/ecs/8.11/ecs-guidelines.html

Refs #3091

* [EXPORTERS]: elastic search put attributes in json root instead of under
`attributes`

This allows user to set other fields that are part of the [ECS log documentation](https://www.elastic.co/guide/en/ecs/8.11/ecs-log.html).
For instance, it allows to have an attribute with key `log.file`, that
will, thanks to `nlohmann::json`, appear as :
```
{
  "log": {
    "file": "xxx"
  }
}
```

Closes #3091
* Resolve dependencies in opentelemetry-cpp-config.cmake

Before this change, consumers of the exported CMake targets had to know
which dependencies are needed to get the transitive target dependencies
like `absl::*`, `gRPC::grpc++`, or `protobuf::libprotobuf`.

* Add find_dependency calls for remaining deps

Now we also resolve `OpenTracing`, and `prometheus-cpp`.

If necessary, `CURL` and `ZLIB` are also resolved.

---------

Co-authored-by: Marc Alff <marc.alff@oracle.com>
Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com>
* Add synchronous gauge

* Add ABI Version macro, update tests

* Fix function description

* Fix formatting

* Remove ABI macros from SDK.

* Add error log for gauge delta temporality.

* Fix formatting

* Apply suggestions from code review

Move kGauge to the end, for better ABI compatibility.

---------

Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com>
Co-authored-by: Marc Alff <marc.alff@free.fr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.