diff --git a/.chloggen/dd-receiver-listener.yaml b/.chloggen/dd-receiver-listener.yaml deleted file mode 100755 index 646e5b836394..000000000000 --- a/.chloggen/dd-receiver-listener.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# Use this changelog template to create an entry for release notes. -# If your change doesn't affect end users, such as a test fix or a tooling change, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: 'bug_fix' - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: datadogreceiver - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: "add client context to the traces received by datadogreceiver" - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [22991] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/fix-cri-o-log-format-time-layout.yaml b/.chloggen/fix-cri-o-log-format-time-layout.yaml deleted file mode 100644 index c56e7d6c6673..000000000000 --- a/.chloggen/fix-cri-o-log-format-time-layout.yaml +++ /dev/null @@ -1,16 +0,0 @@ -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: bug_fix - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: otel-collector - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Fix cri-o log format time layout - -# One or more tracking issues related to the change -issues: [23027] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/fix-parent-error-scrapping.yaml b/.chloggen/fix-parent-error-scrapping.yaml deleted file mode 100644 index f117e8560c0d..000000000000 --- a/.chloggen/fix-parent-error-scrapping.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# Use this changelog template to create an entry for release notes. -# If your change doesn't affect end users, such as a test fix or a tooling change, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: bug_fix - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: processor/hostmetrics - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Fix issue where receiver fails to read parent-process information for some processes on Windows - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [14679] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/fix_iis-scrape-queue-failure.yaml b/.chloggen/fix_iis-scrape-queue-failure.yaml deleted file mode 100755 index 31dddf2f31c1..000000000000 --- a/.chloggen/fix_iis-scrape-queue-failure.yaml +++ /dev/null @@ -1,11 +0,0 @@ -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: bug_fix - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: iisreceiver - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Removes error message on every scrape where no items are present in the queue. - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [14575] diff --git a/.chloggen/jgm-span-dimensions.yaml b/.chloggen/jgm-span-dimensions.yaml deleted file mode 100755 index 868eba7f8825..000000000000 --- a/.chloggen/jgm-span-dimensions.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# Use this changelog template to create an entry for release notes. -# If your change doesn't affect end users, such as a test fix or a tooling change, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: influxdbexporter - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add configurable span dimensions - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [23230] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/ottl-check-type.yaml b/.chloggen/ottl-check-type.yaml deleted file mode 100755 index 0560f2c2a2b1..000000000000 --- a/.chloggen/ottl-check-type.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# Use this changelog template to create an entry for release notes. -# If your change doesn't affect end users, such as a test fix or a tooling change, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: pkg/ottl - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add new `IsString` and `IsMap` functions to facilitate type checking. - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [22750] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: Especially useful for checking log body type before parsing. diff --git a/.chloggen/ottl-standard-functions.yaml b/.chloggen/ottl-standard-functions.yaml deleted file mode 100755 index e10518d2feec..000000000000 --- a/.chloggen/ottl-standard-functions.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# Use this changelog template to create an entry for release notes. -# If your change doesn't affect end users, such as a test fix or a tooling change, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: pkg/ottl - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Adds `StandardFuncs` and `StandardConverters` to facilitate function map generation. - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [23190] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: This change means that new functions added to ottlfuncs get automatically added to Cotnrib components that use OTTL diff --git a/.chloggen/servicegraph-fix-metric-names.yaml b/.chloggen/servicegraph-fix-metric-names.yaml deleted file mode 100755 index 25afd8fabca7..000000000000 --- a/.chloggen/servicegraph-fix-metric-names.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: breaking - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: servicegraphprocessor - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Change metric names to match the spec - -# One or more tracking issues related to the change -issues: [18743, 16578] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: Latency metric `traces_service_graph_request_duration_seconds` are deprecated in favor of server and client metrics | - `traces_service_graph_server_request_seconds` and `traces_service_graph_client_request_seconds` | - respectively. Use the feature gate `processor.servicegraph.legacyLatencyMetricNames` to enable the old metric names. diff --git a/.chloggen/set-prom-feature-gate-back-to-aplpha.yaml b/.chloggen/set-prom-feature-gate-back-to-aplpha.yaml deleted file mode 100644 index 65f641e7bffd..000000000000 --- a/.chloggen/set-prom-feature-gate-back-to-aplpha.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: breaking - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: prometheusreceiver, prometheusexporter, prometheusremotewrite - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Disable `pkg.translator.prometheus.NormalizeName` feature gate by default - -# One or more tracking issues related to the change -issues: [23208] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: | - The feature gate `pkg.translator.prometheus.NormalizeName` was enabled prematurely while translation - on the prometheus receiver was incomplete. To address this, the feature gate has been reverted back to alpha status. - This will remain the case until the translation on the receiver side aligns with the translation on the exporter side, - or until it is replaced with a configuration option or completely removed. To maintain the current behavior, you can - enable the feature gate using the `--feature-gates=pkg.translator.prometheus.NormalizeName` command argument. - However, please note that the translation in the prometheus receiver is a subject to future changes. diff --git a/.chloggen/stanley.liu_add-telemetry-metric.yaml b/.chloggen/stanley.liu_add-telemetry-metric.yaml deleted file mode 100755 index 16e21afa4df4..000000000000 --- a/.chloggen/stanley.liu_add-telemetry-metric.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# Use this changelog template to create an entry for release notes. -# If your change doesn't affect end users, such as a test fix or a tooling change, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: exporter/datadog - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Adds metric otel.datadog_exporter.runtime_metrics.running to track when the Datadog Exporter receives a payload containing runtime metrics. - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [23138] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/testbed-configurable-executable.yaml b/.chloggen/testbed-configurable-executable.yaml deleted file mode 100755 index 1a938cdc6f3e..000000000000 --- a/.chloggen/testbed-configurable-executable.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# Use this changelog template to create an entry for release notes. -# If your change doesn't affect end users, such as a test fix or a tooling change, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: testbed - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add `WithAgentExePath`, which allows setting the path of the Collector executable. - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [23258] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/webhookevent_client.yaml b/.chloggen/webhookevent_client.yaml deleted file mode 100755 index b760332ffca4..000000000000 --- a/.chloggen/webhookevent_client.yaml +++ /dev/null @@ -1,16 +0,0 @@ -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: 'enhancement' - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: webhookeventreceiver - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: "first pass implementing the components internals." - -# One or more tracking issues related to the change -issues: [18101] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/websocket-processor.yaml b/.chloggen/websocket-processor.yaml deleted file mode 100644 index fc9a13dc83f0..000000000000 --- a/.chloggen/websocket-processor.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# Use this changelog template to create an entry for release notes. -# If your change doesn't affect end users, such as a test fix or a tooling change, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: new_component - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: websocketprocessor - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Implementation of websocket processor - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [19633] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.github/ALLOWLIST b/.github/ALLOWLIST index 91e88d651a87..6eeba5a34610 100644 --- a/.github/ALLOWLIST +++ b/.github/ALLOWLIST @@ -23,3 +23,6 @@ internal/common ## DEPRECATED components ## UNMAINTAINED components +exporter/carbonexporter/ +receiver/carbonreceiver/ +receiver/wavefrontreceiver/ diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index e3d9fbc9a183..9b7892e3eec6 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -22,6 +22,7 @@ cmd/configschema/ @open-telemetry/collector-contrib-approvers @mx-psi @dmitryax @pmcollins cmd/mdatagen/ @open-telemetry/collector-contrib-approvers @dmitryax +cmd/opampsupervisor/ @open-telemetry/collector-contrib-approvers @evan-bradley @atoulme @tigrannajaryan cmd/otelcontribcol/ @open-telemetry/collector-contrib-approvers cmd/oteltestbedcol/ @open-telemetry/collector-contrib-approvers cmd/telemetrygen/ @open-telemetry/collector-contrib-approvers @mx-psi @codeboten @@ -42,7 +43,6 @@ exporter/awss3exporter/ @open-telemetry/collect exporter/awsxrayexporter/ @open-telemetry/collector-contrib-approvers @wangzlei @srprash exporter/azuremonitorexporter/ @open-telemetry/collector-contrib-approvers @pcwiese exporter/azuredataexplorerexporter/ @open-telemetry/collector-contrib-approvers @asaharan @ag-ramachandran -exporter/carbonexporter/ @open-telemetry/collector-contrib-approvers exporter/clickhouseexporter/ @open-telemetry/collector-contrib-approvers @hanjm @dmitryax @Frapschen exporter/cassandraexporter/ @open-telemetry/collector-contrib-approvers @atoulme @emreyalvac exporter/coralogixexporter/ @open-telemetry/collector-contrib-approvers @oded-dd @povilasv @matej-g @@ -52,8 +52,8 @@ exporter/dynatraceexporter/ @open-telemetry/collect exporter/elasticsearchexporter/ @open-telemetry/collector-contrib-approvers @JaredTan95 exporter/f5cloudexporter/ @open-telemetry/collector-contrib-approvers @gramidt exporter/fileexporter/ @open-telemetry/collector-contrib-approvers @atingchen -exporter/googlecloudexporter/ @open-telemetry/collector-contrib-approvers @aabmass @dashpole @jsuereth @punya @tbarker25 @damemi -exporter/googlemanagedprometheusexporter/ @open-telemetry/collector-contrib-approvers @aabmass @dashpole @jsuereth @punya @tbarker25 @damemi +exporter/googlecloudexporter/ @open-telemetry/collector-contrib-approvers @aabmass @dashpole @jsuereth @punya @tbarker25 @damemi @psx95 +exporter/googlemanagedprometheusexporter/ @open-telemetry/collector-contrib-approvers @aabmass @dashpole @jsuereth @punya @tbarker25 @damemi @psx95 exporter/googlecloudpubsubexporter/ @open-telemetry/collector-contrib-approvers @alexvanboxel exporter/influxdbexporter/ @open-telemetry/collector-contrib-approvers @jacobmarble exporter/instanaexporter/ @open-telemetry/collector-contrib-approvers @jpkrohling @hickeyma @@ -84,7 +84,7 @@ exporter/zipkinexporter/ @open-telemetry/collect extension/asapauthextension/ @open-telemetry/collector-contrib-approvers @jamesmoessis @MovieStoreGuy extension/awsproxy/ @open-telemetry/collector-contrib-approvers @Aneurysm9 @mxiamxia extension/basicauthextension/ @open-telemetry/collector-contrib-approvers @jpkrohling @svrakitin -extension/bearertokenauthextension/ @open-telemetry/collector-contrib-approvers @jpkrohling @pavankrish123 +extension/bearertokenauthextension/ @open-telemetry/collector-contrib-approvers @jpkrohling @pavankrish123 @frzifus extension/headerssetterextension/ @open-telemetry/collector-contrib-approvers @jpkrohling @kovrus extension/healthcheckextension/ @open-telemetry/collector-contrib-approvers @jpkrohling extension/httpforwarder/ @open-telemetry/collector-contrib-approvers @atoulme @rmfitzpatrick @@ -136,7 +136,7 @@ processor/cumulativetodeltaprocessor/ @open-telemetry/collect processor/datadogprocessor/ @open-telemetry/collector-contrib-approvers @mx-psi @gbbr @dineshg13 processor/deltatorateprocessor/ @open-telemetry/collector-contrib-approvers @Aneurysm9 processor/filterprocessor/ @open-telemetry/collector-contrib-approvers @TylerHelmuth @boostchicken -processor/groupbyattrsprocessor/ @open-telemetry/collector-contrib-approvers +processor/groupbyattrsprocessor/ @open-telemetry/collector-contrib-approvers @rnishtala-sumo processor/groupbytraceprocessor/ @open-telemetry/collector-contrib-approvers @jpkrohling processor/k8sattributesprocessor/ @open-telemetry/collector-contrib-approvers @dmitryax @rmfitzpatrick @fatsheep9146 processor/logstransformprocessor/ @open-telemetry/collector-contrib-approvers @djaglowski @dehaansa @@ -172,7 +172,6 @@ receiver/awsxrayreceiver/ @open-telemetry/collect receiver/azureblobreceiver/ @open-telemetry/collector-contrib-approvers @eedorenko @mx-psi receiver/azuremonitorreceiver/ @open-telemetry/collector-contrib-approvers @altuner @codeboten receiver/bigipreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski @StefanKurek -receiver/carbonreceiver/ @open-telemetry/collector-contrib-approvers receiver/chronyreceiver/ @open-telemetry/collector-contrib-approvers @MovieStoreGuy @jamesmoessis receiver/cloudflarereceiver/ @open-telemetry/collector-contrib-approvers @dehaansa @djaglowski receiver/cloudfoundryreceiver/ @open-telemetry/collector-contrib-approvers @agoallikmaa @pellared @crobert-1 @@ -183,7 +182,7 @@ receiver/dockerstatsreceiver/ @open-telemetry/collect receiver/elasticsearchreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski @binaryfissiongames receiver/expvarreceiver/ @open-telemetry/collector-contrib-approvers @jamesmoessis @MovieStoreGuy receiver/filelogreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski -receiver/filereceiver/ @open-telemetry/collector-contrib-approvers @pmcollins @djaglowski +receiver/filereceiver/ @open-telemetry/collector-contrib-approvers @pmcollins @djaglowski receiver/filestatsreceiver/ @open-telemetry/collector-contrib-approvers @atoulme receiver/flinkmetricsreceiver/ @open-telemetry/collector-contrib-approvers @jonathanwamsley @djaglowski receiver/fluentforwardreceiver/ @open-telemetry/collector-contrib-approvers @dmitryax @@ -236,13 +235,12 @@ receiver/splunkhecreceiver/ @open-telemetry/collect receiver/snowflakereceiver/ @open-telemetry/collector-contrib-approvers @dmitryax @shalper2 receiver/sqlqueryreceiver/ @open-telemetry/collector-contrib-approvers @dmitryax @pmcollins receiver/sqlserverreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski @StefanKurek -receiver/sshcheckreceiver/ @open-telemetry/collector-contrib-approvers @nslaughter @codeboten +receiver/sshcheckreceiver/ @open-telemetry/collector-contrib-approvers @nslaughter @codeboten receiver/statsdreceiver/ @open-telemetry/collector-contrib-approvers @jmacd @dmitryax receiver/syslogreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski receiver/tcplogreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski receiver/udplogreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski receiver/vcenterreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski @schmikei -receiver/wavefrontreceiver/ @open-telemetry/collector-contrib-approvers receiver/webhookeventreceiver/ @open-telemetry/collector-contrib-approvers @atoulme @shalper2 receiver/windowseventlogreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski @armstrmi receiver/windowsperfcountersreceiver/ @open-telemetry/collector-contrib-approvers @dashpole @@ -252,3 +250,11 @@ receiver/zookeeperreceiver/ @open-telemetry/collect testbed/ @open-telemetry/collector-contrib-approvers @open-telemetry/collector-approvers testbed/mockdatareceivers/mockawsxrayreceiver/ @open-telemetry/collector-contrib-approvers @wangzlei @srprash testbed/mockdatasenders/mockdatadogagentexporter/ @open-telemetry/collector-contrib-approvers @boostchicken + + +## UNMAINTAINED components +## The Github issue template generation code needs this to generate the corresponding labels. + +exporter/carbonexporter/ @open-telemetry/collector-contrib-approvers +receiver/carbonreceiver/ @open-telemetry/collector-contrib-approvers +receiver/wavefrontreceiver/ @open-telemetry/collector-contrib-approvers diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 4107accc67e5..68316bc0df41 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -20,6 +20,7 @@ body: # Start Collector components list - cmd/configschema - cmd/mdatagen + - cmd/opampsupervisor - cmd/otelcontribcol - cmd/oteltestbedcol - cmd/telemetrygen diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index 9680ffa19da9..1c9d4773bc55 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -14,6 +14,7 @@ body: # Start Collector components list - cmd/configschema - cmd/mdatagen + - cmd/opampsupervisor - cmd/otelcontribcol - cmd/oteltestbedcol - cmd/telemetrygen diff --git a/.github/ISSUE_TEMPLATE/other.yaml b/.github/ISSUE_TEMPLATE/other.yaml index 1746a9f0c376..3c6069627cc0 100644 --- a/.github/ISSUE_TEMPLATE/other.yaml +++ b/.github/ISSUE_TEMPLATE/other.yaml @@ -14,6 +14,7 @@ body: # Start Collector components list - cmd/configschema - cmd/mdatagen + - cmd/opampsupervisor - cmd/otelcontribcol - cmd/oteltestbedcol - cmd/telemetrygen diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 3d76b7033704..472a1cb63107 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -17,6 +17,11 @@ updates: schedule: interval: "weekly" day: "wednesday" + - package-ecosystem: "gomod" + directory: "/cmd/opampsupervisor" + schedule: + interval: "weekly" + day: "wednesday" - package-ecosystem: "gomod" directory: "/cmd/otelcontribcol" schedule: @@ -1097,8 +1102,3 @@ updates: schedule: interval: "weekly" day: "wednesday" - - package-ecosystem: "gomod" - directory: "/receiver/tcplogreceiver" - schedule: - interval: "weekly" - day: "wednesday" diff --git a/.github/workflows/auto-update-jmx-metrics-component.yml b/.github/workflows/auto-update-jmx-metrics-component.yml new file mode 100644 index 000000000000..357898e9502d --- /dev/null +++ b/.github/workflows/auto-update-jmx-metrics-component.yml @@ -0,0 +1,116 @@ +name: Auto-update JMX metrics component + +on: + schedule: + # Daily at 01:30 (UTC) + - cron: '30 1 * * *' + workflow_dispatch: + +jobs: + check-versions: + runs-on: ubuntu-latest + outputs: + latest-version: ${{ steps.check-versions.outputs.latest-version }} + already-added: ${{ steps.check-versions.outputs.already-added }} + already-opened: ${{ steps.check-versions.outputs.already-opened }} + steps: + - uses: actions/checkout@v3 + + - id: check-versions + name: Check versions + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + latest_version=$(gh release view \ + --repo open-telemetry/opentelemetry-java-contrib \ + --json tagName \ + --jq .tagName \ + | sed 's/^v//') + + # jmx metric gatherer is currently alpha + latest_version=$latest_version-alpha + + if grep -Pzo "version: \"$latest_version\",\s*jar:\s*\"JMX metrics gatherer\"" receiver/jmxreceiver/supported_jars.go; then + already_added=true + fi + + matches=$(gh pr list \ + --author opentelemetrybot \ + --state open \ + --search "in:title \"Add JMX metrics gatherer version $latest_version\"") + if [ ! -z "$matches" ] + then + already_opened=true + fi + + echo "latest-version=$latest_version" >> $GITHUB_OUTPUT + echo "already-added=$already_added" >> $GITHUB_OUTPUT + echo "already-opened=$already_opened" >> $GITHUB_OUTPUT + + update-jmx-metrics-component: + runs-on: ubuntu-latest + if: | + needs.check-versions.outputs.already-added != 'true' && + needs.check-versions.outputs.already-opened != 'true' + needs: + - check-versions + steps: + - uses: actions/checkout@v3 + + - name: Update version + env: + VERSION: ${{ needs.check-versions.outputs.latest-version }} + run: | + if [[ ! $VERSION =~ -alpha$ ]]; then + echo currently expecting jmx metrics version to end with "-alpha" + exit 1 + fi + + version=${VERSION//-alpha/} + hash=$(curl -L https://github.com/open-telemetry/opentelemetry-java-contrib/releases/download/v$version/opentelemetry-jmx-metrics.jar \ + | sha256sum \ + | cut -d ' ' -f 1) + + # NOTE there are intentional tab characters in the line below + sed -i "/^var jmxMetricsGathererVersions/a \ \"$hash\": {\n version: \"$VERSION\",\n jar: \"JMX metrics gatherer\",\n }," receiver/jmxreceiver/supported_jars.go + git diff + + - name: Use CLA approved github bot + run: | + git config user.name opentelemetrybot + git config user.email 107717825+opentelemetrybot@users.noreply.github.com + + - name: Create pull request against main + env: + VERSION: ${{ needs.check-versions.outputs.latest-version }} + # not using secrets.GITHUB_TOKEN since pull requests from that token do not run workflows + GH_TOKEN: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN }} + run: | + message="Add JMX metrics gatherer version $VERSION" + body="Add JMX metrics gatherer version \`$VERSION\`. + + cc @open-telemetry/java-contrib-approvers + " + branch="opentelemetrybot/add-jmx-metrics-gatherer-${VERSION}" + + git checkout -b $branch + git commit -a -m "$message" + git push --set-upstream origin $branch + url=$(gh pr create --title "$message" \ + --body "$body" \ + --base main) + + pull_request_number=${url//*\//} + + # see the template for change log entry file at blob/main/.chloggen/TEMPLATE.yaml + cat > .chloggen/add-jmx-metrics-gatherer-$VERSION.yaml << EOF + change_type: enhancement + component: jmxreceiver + note: Add the JMX metrics gatherer version $VERSION to the supported jars hash list + issues: [ $pull_request_number ] + EOF + + git add .chloggen/add-jmx-metrics-gatherer-$VERSION.yaml + + git commit -m "Add change log entry" + git push diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index e3da90e0747c..f6758913ffde 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -78,7 +78,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-go@v4 with: - go-version: 1.19 + go-version: "1.20" cache: false - name: Cache Go id: go-cache @@ -292,10 +292,14 @@ jobs: with: name: coverage-artifacts - name: Upload coverage report - uses: codecov/codecov-action@v3 - with: - fail_ci_if_error: true - verbose: true + uses: Wandalen/wretry.action@v1.0.36 + with: + action: codecov/codecov-action@v3 + with: | + fail_ci_if_error: true + verbose: true + attempt_limit: 5 + attempt_delay: 10000 integration-tests: runs-on: ubuntu-latest diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index c53204e9e415..121f1e000781 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -9,6 +9,37 @@ on: pull_request: jobs: + docker-build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - uses: actions/setup-go@v4 + with: + go-version: 1.19 + cache: false + - name: Cache Go + id: go-cache + uses: actions/cache@v3 + with: + path: | + ~/go/bin + ~/go/pkg/mod + key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} + - name: Install dependencies + if: steps.go-cache.outputs.cache-hit != 'true' + run: make -j2 gomoddownload + - name: Build Docker Image + run: | + make docker-otelcontribcol + - name: export image to tar + run: | + docker save otelcontribcol:latest > /tmp/otelcontribcol.tar + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: otelcontribcol + path: /tmp/otelcontribcol.tar kubernetes-test: env: KUBECONFIG: /tmp/kube-config-otelcol-e2e-testing @@ -16,6 +47,7 @@ jobs: matrix: k8s-version: ["v1.26.0", "v1.25.3", "v1.24.7", "v1.23.13"] runs-on: ubuntu-latest + needs: docker-build steps: - uses: actions/checkout@v3 - uses: actions/setup-go@v4 @@ -33,19 +65,29 @@ jobs: - name: Install dependencies if: steps.go-cache.outputs.cache-hit != 'true' run: make -j2 gomoddownload - - name: Build Docker Image - run: | - make docker-otelcontribcol - name: Create kind cluster uses: helm/kind-action@v1.7.0 with: node_image: kindest/node:${{ matrix.k8s-version }} kubectl_version: ${{ matrix.k8s-version }} cluster_name: kind + - name: Download artifact + uses: actions/download-artifact@v3 + with: + name: otelcontribcol + path: /tmp + - name: Load Docker image + run: | + docker load --input /tmp/otelcontribcol.tar - name: Kind load image run: | kind load docker-image otelcontribcol:latest --name kind - - name: run e2e tests + - name: run k8sclusterreceiver e2e tests + run: | + cd receiver/k8sclusterreceiver + go test -v --tags=e2e + - name: run k8sattributesprocessor e2e tests run: | cd processor/k8sattributesprocessor go test -v --tags=e2e + diff --git a/.gitignore b/.gitignore index 7518e3156227..fd937a38f1b4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ local/ +vendor/ # GoLand IDEA /.idea/ diff --git a/.golangci.yml b/.golangci.yml index 317fa392ecf6..0f6457b67cc2 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -129,6 +129,7 @@ linters: - errcheck - errorlint - exportloopref + - exhaustive - gci - gocritic - gofmt @@ -153,3 +154,205 @@ issues: - text: "G402:" linters: - gosec + # Following exclude-rules are used to exclude the existing components which do not pass exhaustive lint, + # in order to enable the exhaustive lint check. + # We should not add more exclude-rules. + # The progress of solving existing exclude-rules will be tracked in https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/23266 + - path: awscontainerinsightreceiver + linters: + - exhaustive + - path: azureeventhubreceiver + linters: + - exhaustive + - path: filereceiver + linters: + - exhaustive + - path: fluentforwardreceiver + linters: + - exhaustive + - path: googlecloudpubsubreceiver + linters: + - exhaustive + - path: googlecloudspannerreceiver + linters: + - exhaustive + - path: k8sclusterreceiver + linters: + - exhaustive + - path: kubeletstatsreceiver + linters: + - exhaustive + - path: podmanreceiver + linters: + - exhaustive + - path: prometheusreceiver + linters: + - exhaustive + - path: receivercreator + linters: + - exhaustive + - path: statsdreceiver + linters: + - exhaustive + - path: attributesprocessor + linters: + - exhaustive + - path: cumulativetodeltaprocessor + linters: + - exhaustive + - path: deltatorateprocessor + linters: + - exhaustive + - path: groupbyattrsprocessor + linters: + - exhaustive + - path: filterprocessor + linters: + - exhaustive + - path: metricsgenerationprocessor + linters: + - exhaustive + - path: metricstransformprocessor + linters: + - exhaustive + - path: probabilisticsamplerprocessor + linters: + - exhaustive + - path: servicegraphprocessor + linters: + - exhaustive + - path: spanprocessor + linters: + - exhaustive + - path: resourcedetectionprocessor + linters: + - exhaustive + - path: tailsamplingprocessor + linters: + - exhaustive + - path: transformprocessor + linters: + - exhaustive + - path: alibabacloudlogserviceexporter + linters: + - exhaustive + - path: awsemfexporter + linters: + - exhaustive + - path: awsxrayexporter + linters: + - exhaustive + - path: azuremonitorexporter + linters: + - exhaustive + - path: azuredataexplorerexporter + linters: + - exhaustive + - path: carbonexporter + linters: + - exhaustive + - path: coralogixexporter + linters: + - exhaustive + - path: clickhouseexporter + linters: + - exhaustive + - path: datasetexporter + linters: + - exhaustive + - path: dynatraceexporter + linters: + - exhaustive + - path: elasticsearchexporter + linters: + - exhaustive + - path: datadogexporter + linters: + - exhaustive + - path: googlecloudpubsubexporter + linters: + - exhaustive + - path: instanaexporter + linters: + - exhaustive + - path: jaegerthrifthttpexporter + linters: + - exhaustive + - path: logzioexporter + linters: + - exhaustive + - path: sentryexporter + linters: + - exhaustive + - path: prometheusexporter + linters: + - exhaustive + - path: prometheusremotewriteexporter + linters: + - exhaustive + - path: sumologicexporter + linters: + - exhaustive + - path: skywalkingexporter + linters: + - exhaustive + - path: splunkhecexporter + linters: + - exhaustive + - path: signalfxexporter + linters: + - exhaustive + - path: tanzuobservabilityexporter + linters: + - exhaustive + - path: k8sobserver + linters: + - exhaustive + - path: containerinsight + linters: + - exhaustive + - path: filter + linters: + - exhaustive + - path: coreinternal + linters: + - exhaustive + - path: k8sconfig + linters: + - exhaustive + - path: pdatatest + linters: + - exhaustive + - path: ottl + linters: + - exhaustive + - path: resourcetotelemetry + linters: + - exhaustive + - path: jaeger + linters: + - exhaustive + - path: prometheus + linters: + - exhaustive + - path: loki + linters: + - exhaustive + - path: opencensus + linters: + - exhaustive + - path: signalfx + linters: + - exhaustive + - path: zipkin + linters: + - exhaustive + - path: mdatagen + linters: + - exhaustive + - path: configschema + linters: + - exhaustive + - path: testbed + linters: + - exhaustive \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 05ee72ada8fc..ffb5c54eb2d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,108 @@ +## v0.80.0 + +### 🛑 Breaking changes 🛑 + +- `redisreceiver`: Updates metric unit from no unit to Bytes. (#23454) + Affected metrics can be found below. + - redis.clients.max_input_buffer + - redis.clients.max_output_buffer + - redis.replication.backlog_first_byte_offset + - redis.replication.offset + +- `elasticsearchreceiver`: Bump 'receiver.elasticsearch.emitNodeVersionAttr' to stable (#16847) + All node metrics are now enriched with the node version resource attribute. +- `nginxreceiver`: Bump 'receiver.nginx.emitConnectionsCurrentAsSum' featuregate to beta (enabled by default) (#4326) +- `servicegraphprocessor`: Change metric names to match the spec (#18743, #16578) + Latency metric `traces_service_graph_request_duration_seconds` are deprecated in favor of server and client metrics | `traces_service_graph_server_request_seconds` and `traces_service_graph_client_request_seconds` | respectively. Use the feature gate `processor.servicegraph.legacyLatencyMetricNames` to enable the old metric names. +- `prometheusreceiver, prometheusexporter, prometheusremotewrite`: Disable `pkg.translator.prometheus.NormalizeName` feature gate by default (#23208) + The feature gate `pkg.translator.prometheus.NormalizeName` was enabled prematurely while translation + on the prometheus receiver was incomplete. To address this, the feature gate has been reverted back to alpha status. + This will remain the case until the translation on the receiver side aligns with the translation on the exporter side, + or until it is replaced with a configuration option or completely removed. To maintain the current behavior, you can + enable the feature gate using the `--feature-gates=pkg.translator.prometheus.NormalizeName` command argument. + However, please note that the translation in the prometheus receiver is a subject to future changes. + + +### 🚩 Deprecations 🚩 + +- `mysqlreceiver`: deprecate `mysql.locked_connects` in favor of `mysql.connection.errors` (#14138) +- `sumologicexporter`: deprecating options which are going to be removed (#23059) + The following options are going to be deprecated and removed in the future: + + - `metric_format: {carbon2, graphite}` (leaving only `prometheus`) + - `metadata_attributes: []` + - `graphite_template: