Bump github.com/klauspost/compress from 1.16.3 to 1.16.4
Bump go.opentelemetry.io/build-tools/chloggen from 0.6.0 to 0.7.0 in /internal/tools
Bump go.opentelemetry.io/build-tools/crosslink from 0.6.0 to 0.7.0 in /internal/tools
Bump go.opentelemetry.io/build-tools/multimod from 0.6.0 to 0.7.0 in /internal/tools
Bump go.opentelemetry.io/build-tools/semconvgen from 0.6.0 to 0.7.0 in /internal/tools
Bump golang.org/x/net from 0.8.0 to 0.9.0
Bump golang.org/x/tools from 0.7.0 to 0.8.0 in /internal/tools
Bump github.com/fsnotify/fsnotify from 1.4.9 to 1.6.0
Bump github.com/shirou/gopsutil/v3 from 3.23.2 to 3.23.3
Bump github.com/spf13/cobra from 1.6.1 to 1.7.0
Bump github.com/spf13/cobra from 1.6.1 to 1.7.0 in /cmd/builder
Bump go.uber.org/multierr from 1.10.0 to 1.11.0
Bump go.uber.org/multierr from 1.10.0 to 1.11.0 in /cmd/builder
Bump go.uber.org/multierr from 1.10.0 to 1.11.0 in /component
Bump go.uber.org/multierr from 1.10.0 to 1.11.0 in /confmap
Bump go.uber.org/multierr from 1.10.0 to 1.11.0 in /featuregate
Bump go.uber.org/multierr from 1.10.0 to 1.11.0 in /pdata
Bump go.uber.org/multierr from 1.10.0 to 1.11.0 in /receiver
Bump golang.org/x/sys from 0.6.0 to 0.7.0
Bump golang.org/x/sys from 0.6.0 to 0.7.0 in /cmd/otelcorecol
Bump golang.org/x/sys from 0.6.0 to 0.7.0 in /exporter/loggingexporter
Contributes to https://github.com/open-telemetry/opentelemetry-collector/issues/1084
- Clarify what the memory limiter does.
- Set expectations from receivers, how they are supposed to react
when the memory limiter refuses the data.
- Add a test that demonstrates that memory limiter does not lose data
if the receiver and exporter behave according to the contract.
All receivers must adhere to this contract. See for example
an issue opened against filelog receiver:
https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/20511
Note that there are no functional changes to the memory limiter.
Future work: one additional thing we can do is implement a backoff
logic in the memory limiter. When in memory limited mode the processor
can introduce pauses before it returns from the ConsumeLogs/Traces/Metrics
call. This will allow to slow down the inflow of data into the Collector
and give time for the pipeline to clear and memory usage to return to the
normal. This needs to be explored further.
Bump actions/setup-go from 3 to 4
Bump github.com/golangci/golangci-lint from 1.51.2 to 1.52.1 in /internal/tools
Bump github.com/klauspost/compress from 1.16.0 to 1.16.3
Bump google.golang.org/grpc from 1.53.0 to 1.54.0
Bump google.golang.org/grpc from 1.53.0 to 1.54.0 in /exporter/otlpexporter
Bump google.golang.org/grpc from 1.53.0 to 1.54.0 in /exporter/otlphttpexporter
Bump google.golang.org/grpc from 1.53.0 to 1.54.0 in /pdata
Bump google.golang.org/grpc from 1.53.0 to 1.54.0 in /receiver/otlpreceiver
Bump google.golang.org/protobuf from 1.29.1 to 1.30.0 in /exporter/otlpexporter
Bump google.golang.org/protobuf from 1.29.1 to 1.30.0 in /exporter/otlphttpexporter
Bump google.golang.org/protobuf from 1.29.1 to 1.30.0 in /pdata
Bump google.golang.org/protobuf from 1.29.1 to 1.30.0 in /receiver/otlpreceiver
The following commands were run to prepare this release:
- make chlog-update VERSION=v0.74.0/v1.0.0-rc8
- make prepare-release GH=none PREVIOUS_VERSION=1.0.0-rc7 RELEASE_CANDIDATE=1.0.0-rc8 MODSET=stable
- make prepare-release GH=none PREVIOUS_VERSION=0.73.0 RELEASE_CANDIDATE=0.74.0 MODSET=beta
Bump google.golang.org/protobuf from 1.29.0 to 1.29.1
Bump google.golang.org/protobuf from 1.29.0 to 1.29.1 in /cmd/otelcorecol
Bump google.golang.org/protobuf from 1.29.0 to 1.29.1 in /connector/forwardconnector
Bump google.golang.org/protobuf from 1.29.0 to 1.29.1 in /consumer
Bump google.golang.org/protobuf from 1.29.0 to 1.29.1 in /exporter
Bump google.golang.org/protobuf from 1.29.0 to 1.29.1 in /exporter/loggingexporter
Bump google.golang.org/protobuf from 1.29.0 to 1.29.1 in /exporter/otlpexporter
Bump google.golang.org/protobuf from 1.29.0 to 1.29.1 in /exporter/otlphttpexporter
Bump google.golang.org/protobuf from 1.29.0 to 1.29.1 in /internal/tools
Bump google.golang.org/protobuf from 1.29.0 to 1.29.1 in /pdata
Bump google.golang.org/protobuf from 1.29.0 to 1.29.1 in /processor/batchprocessor
Bump google.golang.org/protobuf from 1.29.0 to 1.29.1 in /processor/memorylimiterprocessor
Bump google.golang.org/protobuf from 1.29.0 to 1.29.1 in /receiver
Bump google.golang.org/protobuf from 1.29.0 to 1.29.1 in /receiver/otlpreceiver
Bump github.com/prometheus/common from 0.41.0 to 0.42.0
Bump github.com/prometheus/common from 0.41.0 to 0.42.0 in /processor/batchprocessor
Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.39.0 to 0.40.0
Bump go.opentelemetry.io/contrib/propagators/b3 from 1.14.0 to 1.15.0
Bump go.uber.org/multierr from 1.9.0 to 1.10.0
Bump go.uber.org/multierr from 1.9.0 to 1.10.0 in /cmd/builder
Bump go.uber.org/multierr from 1.9.0 to 1.10.0 in /component
Bump go.uber.org/multierr from 1.9.0 to 1.10.0 in /confmap
Bump go.uber.org/multierr from 1.9.0 to 1.10.0 in /pdata
Bump go.uber.org/multierr from 1.9.0 to 1.10.0 in /receiver
Bump golang.org/x/net from 0.7.0 to 0.8.0
Bump golang.org/x/tools from 0.6.0 to 0.7.0 in /internal/tools
Bump google.golang.org/protobuf from 1.28.1 to 1.29.0 in /exporter/otlpexporter
Bump google.golang.org/protobuf from 1.28.1 to 1.29.0 in /exporter/otlphttpexporter
Bump google.golang.org/protobuf from 1.28.1 to 1.29.0 in /pdata
Bump google.golang.org/protobuf from 1.28.1 to 1.29.0 in /receiver/otlpreceiver
Bump github.com/klauspost/compress from 1.15.15 to 1.16.0
Bump github.com/prometheus/common from 0.39.0 to 0.40.0
Bump github.com/prometheus/common from 0.39.0 to 0.40.0 in /processor/batchprocessor
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /cmd/builder
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /cmd/otelcorecol
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /component
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /confmap
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /connector/forwardconnector
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /consumer
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /exporter/loggingexporter
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /exporter/otlpexporter
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /exporter/otlphttpexporter
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /extension/ballastextension
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /extension/zpagesextension
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /featuregate
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /pdata
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /processor/batchprocessor
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /processor/memorylimiterprocessor
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /receiver/otlpreceiver
Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 in /semconv
The following commands were run to prepare this release:
make chlog-update VERSION=v0.72.0/v1.0.0-rc6
make prepare-release GH=none PREVIOUS_VERSION=1.0.0-rc5 RELEASE_CANDIDATE=1.0.0-rc6 MODSET=stable
make prepare-release GH=none PREVIOUS_VERSION=0.71.0 RELEASE_CANDIDATE=0.72.0 MODSET=beta
Fixes#7229#7230
Bump go.opentelemetry.io/build-tools/checkdoc from 0.5.0 to 0.6.0 in /internal/tools
Bump go.opentelemetry.io/build-tools/chloggen from 0.5.0 to 0.6.0 in /internal/tools
Bump go.opentelemetry.io/build-tools/crosslink from 0.5.0 to 0.6.0 in /internal/tools
Bump go.opentelemetry.io/build-tools/multimod from 0.5.0 to 0.6.0 in /internal/tools
Bump go.opentelemetry.io/build-tools/semconvgen from 0.5.0 to 0.6.0 in /internal/tools
Bump golang.org/x/net from 0.5.0 to 0.6.0
Bump golang.org/x/sys from 0.4.0 to 0.5.0
Bump golang.org/x/sys from 0.4.0 to 0.5.0 in /cmd/otelcorecol
Bump golang.org/x/sys from 0.4.0 to 0.5.0 in /exporter/loggingexporter
Bump google.golang.org/grpc from 1.52.3 to 1.53.0
Bump google.golang.org/grpc from 1.52.3 to 1.53.0 in /exporter/otlpexporter
Bump google.golang.org/grpc from 1.52.3 to 1.53.0 in /exporter/otlphttpexporter
Bump google.golang.org/grpc from 1.52.3 to 1.53.0 in /pdata
Bump google.golang.org/grpc from 1.52.3 to 1.53.0 in /receiver/otlpreceiver
* remove go 1.18 support, bump minimum to go 1.19 and add testing for 1.20
Signed-off-by: Alex Boten <aboten@lightstep.com>
* update chlog
Signed-off-by: Alex Boten <aboten@lightstep.com>
* add quotes
Signed-off-by: Alex Boten <aboten@lightstep.com>
---------
Signed-off-by: Alex Boten <aboten@lightstep.com>
Bump github.com/shirou/gopsutil/v3 from 3.22.12 to 3.23.1
Bump go.opentelemetry.io/contrib/propagators/b3 from 1.12.0 to 1.13.0
Bump go.opentelemetry.io/contrib/zpages from 0.37.0 to 0.38.0 in /extension/zpagesextension
Bump go.opentelemetry.io/otel from 1.11.2 to 1.12.0
Bump go.opentelemetry.io/otel from 1.11.2 to 1.12.0 in /processor/batchprocessor
Bump go.opentelemetry.io/otel/exporters/prometheus from 0.34.0 to 0.35.0
Bump go.opentelemetry.io/otel/exporters/prometheus from 0.34.0 to 0.35.0 in /processor/batchprocessor
Bump go.opentelemetry.io/otel/metric from 0.34.0 to 0.35.0
Bump go.opentelemetry.io/otel/metric from 0.34.0 to 0.35.0 in /component
Bump go.opentelemetry.io/otel/metric from 0.34.0 to 0.35.0 in /processor/batchprocessor
Bump go.opentelemetry.io/otel/sdk from 1.11.2 to 1.12.0 in /extension/zpagesextension
Bump go.opentelemetry.io/otel/sdk from 1.11.2 to 1.12.0 in /processor/batchprocessor
Bump go.opentelemetry.io/otel/sdk/metric from 0.34.0 to 0.35.0 in /processor/batchprocessor
Bump go.opentelemetry.io/otel/trace from 1.11.2 to 1.12.0
Bump go.opentelemetry.io/otel/trace from 1.11.2 to 1.12.0 in /component
Bump go.opentelemetry.io/otel/trace from 1.11.2 to 1.12.0 in /extension/zpagesextension
Bump google.golang.org/grpc from 1.52.0 to 1.52.3
Bump google.golang.org/grpc from 1.52.0 to 1.52.3 in /exporter/otlpexporter
Bump google.golang.org/grpc from 1.52.0 to 1.52.3 in /exporter/otlphttpexporter
Bump google.golang.org/grpc from 1.52.0 to 1.52.3 in /pdata
Bump google.golang.org/grpc from 1.52.0 to 1.52.3 in /receiver/otlpreceiver
---------
Signed-off-by: Alex Boten <aboten@lightstep.com>
Co-authored-by: Alex Boten <aboten@lightstep.com>
Bump github.com/google/addlicense from 1.1.0 to 1.1.1 in /internal/tools
Bump github.com/klauspost/compress from 1.15.14 to 1.15.15
Bump github.com/knadh/koanf from 1.4.5 to 1.5.0 in /cmd/builder
Bump github.com/knadh/koanf from 1.4.5 to 1.5.0 in /confmap
Co-authored-by: codeboten <codeboten@users.noreply.github.com>
Bump google.golang.org/grpc from 1.51.0 to 1.52.0
Bump google.golang.org/grpc from 1.51.0 to 1.52.0 in /exporter/otlpexporter
Bump google.golang.org/grpc from 1.51.0 to 1.52.0 in /exporter/otlphttpexporter
Bump google.golang.org/grpc from 1.51.0 to 1.52.0 in /pdata
Bump google.golang.org/grpc from 1.51.0 to 1.52.0 in /receiver/otlpreceiver
Co-authored-by: codeboten <codeboten@users.noreply.github.com>
Bump github.com/klauspost/compress from 1.15.13 to 1.15.14
Bump github.com/knadh/koanf from 1.4.4 to 1.4.5 in /cmd/builder
Bump github.com/knadh/koanf from 1.4.4 to 1.4.5 in /confmap
Bump go.opentelemetry.io/build-tools/checkdoc from 0.3.0 to 0.4.0 in /internal/tools
Bump go.opentelemetry.io/build-tools/chloggen from 0.3.0 to 0.4.0 in /internal/tools
Bump go.opentelemetry.io/build-tools/crosslink from 0.3.0 to 0.4.0 in /internal/tools
Bump go.opentelemetry.io/build-tools/multimod from 0.3.0 to 0.4.0 in /internal/tools
Bump golang.org/x/net from 0.4.0 to 0.5.0
Bump golang.org/x/sys from 0.3.0 to 0.4.0
Bump golang.org/x/sys from 0.3.0 to 0.4.0 in /cmd/otelcorecol
Bump golang.org/x/sys from 0.3.0 to 0.4.0 in /exporter/loggingexporter
Bump golang.org/x/tools from 0.4.0 to 0.5.0 in /internal/tools
Co-authored-by: codeboten <codeboten@users.noreply.github.com>
Bump github.com/rs/cors from 1.8.2 to 1.8.3
Bump github.com/shirou/gopsutil/v3 from 3.22.10 to 3.22.12
Co-authored-by: bogdandrutu <bogdandrutu@users.noreply.github.com>
Bump github.com/prometheus/common from 0.38.0 to 0.39.0
Bump github.com/prometheus/common from 0.38.0 to 0.39.0 in /processor/batchprocessor
Co-authored-by: bogdandrutu <bogdandrutu@users.noreply.github.com>
Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.36.4 to 0.37.0
Bump go.opentelemetry.io/contrib/propagators/b3 from 1.11.1 to 1.12.0
Bump go.uber.org/multierr from 1.8.0 to 1.9.0
Bump go.uber.org/multierr from 1.8.0 to 1.9.0 in /cmd/builder
Bump go.uber.org/multierr from 1.8.0 to 1.9.0 in /component
Bump go.uber.org/multierr from 1.8.0 to 1.9.0 in /confmap
Bump go.uber.org/multierr from 1.8.0 to 1.9.0 in /pdata
Bump goreleaser/goreleaser-action from 3 to 4
Co-authored-by: bogdandrutu <bogdandrutu@users.noreply.github.com>
* dependabot updates Mon Dec 12 16:56:19 UTC 2022
Bump github.com/klauspost/compress from 1.15.12 to 1.15.13
Bump github.com/prometheus/common from 0.37.0 to 0.38.0 in /processor/batchprocessor
Bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.36.4 to 0.37.0
Bump go.opentelemetry.io/contrib/zpages from 0.36.4 to 0.37.0 in /extension/zpagesextension
Bump go.opentelemetry.io/otel from 1.11.1 to 1.11.2
Bump go.opentelemetry.io/otel/exporters/prometheus from 0.33.0 to 0.34.0 in /processor/batchprocessor
Bump go.opentelemetry.io/otel/metric from 0.33.0 to 0.34.0
Bump go.opentelemetry.io/otel/metric from 0.33.0 to 0.34.0 in /component
Bump go.opentelemetry.io/otel/metric from 0.33.0 to 0.34.0 in /processor/batchprocessor
Bump go.opentelemetry.io/otel/sdk from 1.11.1 to 1.11.2 in /extension/zpagesextension
Bump go.opentelemetry.io/otel/sdk from 1.11.1 to 1.11.2 in /processor/batchprocessor
Bump go.opentelemetry.io/otel/sdk/metric from 0.33.0 to 0.34.0
Bump go.opentelemetry.io/otel/sdk/metric from 0.33.0 to 0.34.0 in /processor/batchprocessor
Bump go.opentelemetry.io/otel/trace from 1.11.1 to 1.11.2 in /component
Bump go.opentelemetry.io/otel/trace from 1.11.1 to 1.11.2 in /extension/zpagesextension
Bump golang.org/x/tools from 0.3.0 to 0.4.0 in /internal/tools
* [chore] fix deprecated calls (#6754)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
* [chore] fix batchprocessor (#6755)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
* [chore] fix lint (#6756)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
Co-authored-by: bogdandrutu <bogdandrutu@users.noreply.github.com>
Co-authored-by: Bogdan Drutu <bogdandrutu@gmail.com>
* prepare release v0.67.0
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Prepare beta for version v0.67.0
* update builder config and generate otelcorecol
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* fix module replacements in builder test
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* fix builder integration test and update CHANGELOG
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Bump version of stable to v1.0.0-rc1
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
* Prepare stable for version v1.0.0-rc1
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
Bump golang.org/x/sys from 0.2.0 to 0.3.0
Bump golang.org/x/sys from 0.2.0 to 0.3.0 in /cmd/otelcorecol
Bump golang.org/x/sys from 0.2.0 to 0.3.0 in /exporter/loggingexporter
Co-authored-by: bogdandrutu <bogdandrutu@users.noreply.github.com>
Bump github.com/shirou/gopsutil/v3 from 3.22.10 to 3.22.11
Bump go.uber.org/zap from 1.23.0 to 1.24.0
Bump go.uber.org/zap from 1.23.0 to 1.24.0 in /cmd/builder
Bump go.uber.org/zap from 1.23.0 to 1.24.0 in /component
Bump go.uber.org/zap from 1.23.0 to 1.24.0 in /exporter/loggingexporter
Bump go.uber.org/zap from 1.23.0 to 1.24.0 in /exporter/otlphttpexporter
Bump go.uber.org/zap from 1.23.0 to 1.24.0 in /extension/ballastextension
Bump go.uber.org/zap from 1.23.0 to 1.24.0 in /extension/zpagesextension
Bump go.uber.org/zap from 1.23.0 to 1.24.0 in /processor/batchprocessor
Bump go.uber.org/zap from 1.23.0 to 1.24.0 in /processor/memorylimiterprocessor
Bump go.uber.org/zap from 1.23.0 to 1.24.0 in /receiver/otlpreceiver
Co-authored-by: bogdandrutu <bogdandrutu@users.noreply.github.com>
Bump github.com/cenkalti/backoff/v4 from 4.1.3 to 4.2.0
Bump google.golang.org/grpc from 1.50.1 to 1.51.0
Bump google.golang.org/grpc from 1.50.1 to 1.51.0 in /exporter/otlpexporter
Bump google.golang.org/grpc from 1.50.1 to 1.51.0 in /exporter/otlphttpexporter
Bump google.golang.org/grpc from 1.50.1 to 1.51.0 in /pdata
Bump google.golang.org/grpc from 1.50.1 to 1.51.0 in /receiver/otlpreceiver
Co-authored-by: bogdandrutu <bogdandrutu@users.noreply.github.com>
Bump github.com/prometheus/client_golang from 1.13.1 to 1.14.0
Bump golang.org/x/sys from 0.1.0 to 0.2.0 in /exporter/loggingexporter
Bump golang.org/x/tools from 0.2.0 to 0.3.0 in /internal/tools
Co-authored-by: bogdandrutu <bogdandrutu@users.noreply.github.com>
The main reason is to remove the circular dependency between the config (including sub-packages) and component. Here is the current state:
* component depends on config
* config/sub-package[grpc, http, etc.] depends on config & component
Because of this "circular" dependency, we cannot split for example "config" into its own module, only if all the other config sub-packages are also split.
Signed-off-by: Bogdan <bogdandrutu@gmail.com>
The main motivation for this is to allow components (including tests) to not depend on the "service" configuration and be reusable without the otelcol service.
Signed-off-by: Bogdan <bogdandrutu@gmail.com>
Signed-off-by: Bogdan <bogdandrutu@gmail.com>
Main motivation is to ensure that Settings are passed (to enable obsreport usage which requires settings to be passed) as well as the context.
Signed-off-by: Bogdan <bogdandrutu@gmail.com>
Signed-off-by: Bogdan <bogdandrutu@gmail.com>
On top of the errorlint errors, also changes `fmt.Errorf("string literal")` with `errors.New("string literal")`.
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
Split all `pdata` related code by type and move it from `model` to the new module `pdata`.
- `model/pdata` and `model/otlp` are moved to `pdata/plog`, `pdata/pmetric` and `pdata/ptrace`.
- `model/otlpgrpc` is moved to `pdata/plogotlp`, `pdata/pmetricotlp` and `pdata/ptraceotlp`.
Now all the API in `model` except for `model/semconv` is deprecated.
Signed-off-by: Dani Louca <dlouca@splunk.com>
**Description:**
This change 062e64f1d7 caused the memory limiter to "only" start the `checkMemLimits` routine for the ml instance used by the traces processor .
In other words, metrics and logs processor will NOT [drop/refuse](https://github.com/open-telemetry/opentelemetry-collector/blob/main/processor/memorylimiterprocessor/memorylimiter.go#L206) data and will pass them down to the next consumer regardless of the current memory pressure as their instance of ml->forcingDrop will not be set.
The simplest solution, is to call start for each processor (metrics, logs, traces) , but this will not be efficient as we'll be running 3 instances of `checkMemLimits`, ie: multiple GC .
But at the same we need to allow multiple instances, with different configs, example: `memory_limiter/another` and `memory_limiter`
````
extensions:
memory_ballast:
size_mib: 4
receivers:
otlp:
protocols:
grpc:
http:
processors:
memory_limiter:
check_interval: 2s
limit_mib: 10
memory_limiter/another:
check_interval: 1s
limit_mib: 100
exporters:
logging:
logLevel: info
service:
telemetry:
logs:
level: "info"
pipelines:
metrics:
receivers: [otlp]
processors: [memory_limiter]
exporters: [logging]
metrics/default:
receivers: [otlp]
processors: [memory_limiter]
exporters: [logging]
traces:
receivers: [otlp]
processors: [memory_limiter/another]
exporters: [logging]
extensions: [memory_ballast]
````
The fix adds a global map to keep track of the different instance and add ~~sync once~~ mutex for the start and shutdown call, so only the first processor can launch the `checkMemLimits` routine and the last one to call `shutdown` to take it down.
If shutdown was called and no `checkMemLimits` has started, then we'll return an error message; unit tests were updated to handle this.
**Testing:**
Tested with above config and using splunk otel instance with valid data.
Made sure only a single `checkMemLimits` is running when there is a single config for memory-limiter and more than one when we have multiple.
I also verified that under memory pressure, when we pass the soft limit, all data types, traces, logs and metrics are getting dropped.
One we agree on this solution, I will look into adding more unit test to validate the change
* consolidate flags for configuring telemetry
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Enable configuring metrics via service config
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Make components take MetricsLevel from TelemetrySettings
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Fix lint errors
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Remove configuration for metrics prefix and adding instance ID
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Make entire Collector available to telemetry initialization, use it to set metrics prefix to buildInfo.Command
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* fix metrics prefix tests
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Fix lint errors
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* config/telemetry: parseLevel() no longer needs to be exported
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* config/telemetry: remove intanceID and prefix flags
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Apply PR feedback
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* address PR feedback
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Avoid linter complaining about use of deprecated functions
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Update CHANGELOG
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* chore: adds porto and fixes vanity imports.
* chore: fixes target overriding.
* chore: fixes install of porto.
* chore: includes porto as a tool.
* chore: upgrades porto to check internals.
* chore: rebase and update vanity import.
* chore: removes unnecessary space.
* chore: rollsback vanity import in generated files.
* obsreport: wire up ProcessorCreateSettings for processors using obsreport
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Add ToProcessorCreateSettings() to obsreporttest settings
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Fix lint issue
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
This PR is to rename `config.NewID` to `config.NewComponentID` and `config.NewIDFromString` to `config.NewComponentIDFromString` for naming consistency.
**Link to tracking Issue:**
Fixes#4105