Skip to content

Commit

Permalink
[receiver/jmx] mark receiver as deprecated
Browse files Browse the repository at this point in the history
After many discussions it seems the community is leaning towards removing the components that execute subprocesses. As such, marking the JMX receiver as deprecated.

Fixes open-telemetry#6750
  • Loading branch information
Alex Boten committed Mar 31, 2022
1 parent 32f6541 commit 275e9c0
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
- `datadogexporter`: Deprecate `service` setting in favor of `service.name` semantic convention (#8784)
- `datadogexporter`: Deprecate `version` setting in favor of `service.version` semantic convention (#8784)
- `datadogexporter`: Deprecate `GetHostTags` method from `TagsConfig` struct (#8975)
- `jmxreceiver`: Deprecate JMX receiver ()

### 🚀 New components 🚀

Expand Down
2 changes: 1 addition & 1 deletion receiver/jmxreceiver/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# JMX Receiver
# Deprecated JMX Receiver

### Overview

Expand Down
11 changes: 11 additions & 0 deletions receiver/jmxreceiver/factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,23 @@ package jmxreceiver // import "github.com/open-telemetry/opentelemetry-collector

import (
"context"
"sync"
"time"

"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/exporter/exporterhelper"
"go.uber.org/zap"
)

const (
typeStr = "jmx"
otlpEndpoint = "0.0.0.0:0"
)

var once sync.Once

func NewFactory() component.ReceiverFactory {
return component.NewReceiverFactory(
typeStr,
Expand All @@ -51,12 +55,19 @@ func createDefaultConfig() config.Receiver {
}
}

func logDeprecation(logger *zap.Logger) {
once.Do(func() {
logger.Warn("jmx receiver is deprecated and will be removed in future versions.")
})
}

func createReceiver(
_ context.Context,
params component.ReceiverCreateSettings,
cfg config.Receiver,
consumer consumer.Metrics,
) (component.MetricsReceiver, error) {
logDeprecation(params.Logger)
jmxConfig := cfg.(*Config)
if err := jmxConfig.validate(); err != nil {
return nil, err
Expand Down

0 comments on commit 275e9c0

Please sign in to comment.