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

Merge upstream main to prod #4931

Merged
merged 44 commits into from
Oct 31, 2023
Merged

Merge upstream main to prod #4931

merged 44 commits into from
Oct 31, 2023

Conversation

songy23
Copy link
Member

@songy23 songy23 commented Oct 31, 2023

No description provided.

povilasv and others added 30 commits October 26, 2023 09:25
See [design
document](https://docs.google.com/document/d/1KtH5atZQUs9Achbce6LiOaJxLbksNJenvgvyKLsJrkc/edit#heading=h.ioikt02qpy5f).

Depends on:

- [Implement ability for extensions to be notified about effective
configuration opentelemetry-collector#6596](open-telemetry/opentelemetry-collector#6596)
- [Make service.instance.id and other telemetry attributes available to
extensions opentelemetry-collector#6599](open-telemetry/opentelemetry-collector#6599)

Closes
open-telemetry#16618

---------

Signed-off-by: Sean Porter <[email protected]>
Co-authored-by: Daniel Jaglowski <[email protected]>
Co-authored-by: Tigran Najaryan <[email protected]>
Do not export function WithTracesMarshalers, WithMetricsMarshalers,
WithLogsMarshalers and pass checkapi

open-telemetry#26304

**Testing:** 
go run cmd/checkapi/main.go .
make chlog-validate
go test for kafkaexporter


Co-authored-by: Alex Boten <[email protected]>
…r readme (open-telemetry#28643)

The `compression` metric option appears more than once in the readme for
the googlecloudexporter exporter, so I've deleted one of the copies. The
first copy has more detail, so I preserved that one.
…emeritus (open-telemetry#28645)

Removed myself as code owner for bearertokenauth and added myself as
emeritus cc: @jpkrohling @frzifus @atoulme atoulme
…tely (open-telemetry#28650)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
When decoding from Azure Resource Log format to OTel if a numeric field
is represented without quotes the data will not be decoded and will fail
silently.

**Link to tracking Issue:** <Issue number if applicable>
open-telemetry#28648 

**Testing:** <Describe what testing was performed and which tests were
added.>
Invalid data captured from Azure Diagnostic Setting and used to create a
unit test. Then data was reprocessed with the Event Hubs Receiver.

**Documentation:** <Describe the documentation added.>
None required as this was a bug within the code.
…pen-telemetry#27898)

The current behavior consists in exiting early on the first difference
found.

This approach continues to look at all changes, and only exits after
outputting a git diff of all the changes.
…ts (open-telemetry#23637)

**Description:**
Add a test suite to the opentelemetry-contrib repository that checks the
behavior of the HEC exporter against a Splunk Enterprise instance.
…telemetry#27606)

**Description:**
We would double-encode JSON objects as strings. We typically have
encoded strings as JSON strings as static responses to issues
encountered during data processing. Along the way, we adopted JSON
objects to match the Splunk Enterprise API. However, we didn't stop
encoding as JSON strings, resulting in double encoded JSON strings.

**Link to tracking Issue:**
Fixes open-telemetry#27604 

**Testing:**
Unit test changes.
## Description: <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
Implementation of exporter to OpenSearch using opensearch-go library. As
of now, this PR was heavily inspired by
https://github.com/dbason/opentelemetry-collector-contrib/tree/opensearch-exporter/exporter/opensearchexporter.

By default, requests sent adhere to the OpenSearch Catalog [schema for
logs](https://github.com/opensearch-project/opensearch-catalog/tree/main/schema/observability/logs),
but allows users to export using the Elastic Common Schema as well.

This PR also:
- enables users to define the `bulk_action` between `create` and `index`
- enables users to define the logs index without necessarily adhering to
the new [index naming
conventions](opensearch-project/observability#1405)
through the `LogsIndex` config.

## Tracking Issue: 


[23611](open-telemetry#23611)

## Testing: <Describe what testing was performed and which tests were
added.>

### Integration
- Successful round-trip to HTTP endpoint,
- Permanent error during round-trip,
- Retryable error response for first request, followed by successful
response on retry,
- Two retriable error responses, followed by successful response on
second retry.

### Manual
- Authentication using `configtls.TLSSetting` (`ca_file`, `cert_file`,
`key_file`)
- Tested in EKS and K3s clusters running
[opni](https://github.com/rancher/opni).

---------

Signed-off-by: João Henri <[email protected]>
Signed-off-by: João Henri <[email protected]>
…in EventXML (Windows) (open-telemetry#28587)

**Description:**
The [XML schema for Windows events supports `Data` elements without the
`Name`
attribute](https://learn.microsoft.com/en-us/windows/win32/wes/eventschema-datafieldtype-complextype),
however, the current implementation doesn't capture `Data` elements
without the `Name` attribute.

Capturing such elements is specially important for events for which the
publisher metadata is invalid. These elements contain the data that will
give a user a much better chance of actually understanding the event,
see
[here](open-telemetry#21491 (comment))
for an example.

I'm adding also the optional `Binary` element. Although this element
typically requires knowledge of the actual data type it is representing
sometimes it can be useful together with the data elements.

I consider this to be a breaking change because it modifies the layout
of the event generated by the package. It isn't an addition, the old
representation is changed, please refer to the changes in tests to see
the difference.

**Link to tracking Issue:**
This is the last pending item to fix open-telemetry#24493, open-telemetry#21491 ([item
5](open-telemetry#21491)).

**Testing:**
- Local run of the affected receiver and package
- "Run Windows" on my fork

**Documentation:**
N/A

---------

Co-authored-by: Daniel Jaglowski <[email protected]>
…via regular expression (open-telemetry#28654)

**Description:**
Allow to compare metrics resource attributes or metric attribute values
by matching on a portion of the dimension value with a regular
expression.

**Link to tracking Issue:**
Fixes open-telemetry#27690

**Testing:**
Unit tests.
…ry#28636)

**Description:**
Move the golden package to pkg/golden so it can be available to
downstream projects.

**Link to tracking Issue:**
Fixes open-telemetry#28594

---------

Co-authored-by: Daniel Jaglowski <[email protected]>
- Change `knownFiles` to `[]*reader.Metadata`. No files are held here.
- Introduce new `previousPollReaders` list, which holds open files from
the previous poll interval. If for any reason a file is closed, it
should immediately be removed from the list and its metadata should be
added to `knownFiles`.
- Introduce notion that each `reader.Metadata` should be treated as a
singleton. When a reader is closed, it pops out its `Metadata` so it can
be appended to `knownFiles`.
…etry#28652)

Updating core to bring in the new builder, which no longer uses a
replace in its template
(open-telemetry/opentelemetry-collector#8763)

---------

Signed-off-by: Alex Boten <[email protected]>
git grep points out that this script is not used anywhere.
…elemetry#28669)

There are a number of links in the resource detection processor's README
that are pointing to the old spec repo. This was causing `check-links`
to fail.
…pen-telemetry#28673)

Rename encoding extensions for consistency with storage extensions:
`db_storage` and `file_storage`.
**Description:**
Adds the basis of a new extension, the remote ~observer~ tap extension,
to be used to display the contents of the data observed via remote
observer processors.

This PR deals only with the structure and required files related to the
extension.

**Link to tracking Issue:**
open-telemetry#19634

**Testing:**
N/A

**Documentation:**
README

---------

Co-authored-by: Pablo Collins <[email protected]>
…8579)

Addresses open-telemetry#27653.

**Description:**
Added persistent storage queue support by leveraging default
`exporthelper.QueueSettings` config structure.

**NOTE** This does end up being a **breaking** change to the API.
**Description:**

This changes the behavior of the Syslog exporter to send each batch of
Syslog messages in a single request (with messages separated by
newlines), instead of sending each message in a separate request and
closing the connection after each message.

The batching only happens when using TCP. For UDP, each syslog message
is still sent in a separate request, as defined by [the
spec](https://datatracker.ietf.org/doc/html/rfc5426#section-3.1).

This also significantly refactors (and hopefully simplifies) the
exporter's code, extracting the code that formats the syslog messages
from the `sender` type into separate `formatter` types. Hopefully this
will make the development of this component easier.

**Link to tracking Issue:**

-
open-telemetry#21244

**Testing:**

The unit tests have been updated to reflect the refactored codebase. The
integration tests introduced in
open-telemetry#27464
are unchanged, as the format of the output messages hasn't changed.

**Documentation:**

No documentation updates.
…mute `error reading username for process` (open-telemetry#28661)

**Description:**

add configuration option `mute_process_user_error`) to mute `error
reading username for process`

**Link to tracking Issue:**

* open-telemetry#14311
* open-telemetry#17187

Signed-off-by: Dominik Rosiek <[email protected]>
…esponse (open-telemetry#28672)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
The Datadog exporter threats network/connectivity errors (HTTP client
doesn't receive a response) as permanent errors, which can lead to log
records loss. This change makes these errors retryable.

**Link to tracking Issue:** open-telemetry#24550

**Testing:** <Describe what testing was performed and which tests were
added.>

**Documentation:** <Describe the documentation added.>
**Description:**

Adds Sumo Logic Processor

The Sumo Logic processor (config name: `sumologic`)
modifies the metadata on logs, metrics and traces sent to [Sumo
Logic][sumologic_webpage]
so that the Sumo Logic [apps][sumologic_apps] can make full use of the
ingested data.

[sumologic_webpage]: https://www.sumologic.com
[sumologic_apps]: https://www.sumologic.com/applications/

**Link to tracking Issue:** open-telemetry#23946

**Testing:**

- Unit tests
- Component is being used by our customers

**Documentation:** `README.md`

---------

Signed-off-by: Dominik Rosiek <[email protected]>
Co-authored-by: Daniel Jaglowski <[email protected]>
Co-authored-by: Andrzej Stencel <[email protected]>
opentelemetrybot and others added 14 commits October 30, 2023 11:24
…ry#28740)

Bump
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp
from 1.19.1 to 1.20.0 in /exporter/datadogexporter
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /cmd/configschema
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /cmd/otelcontribcol
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /cmd/oteltestbedcol
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /exporter/datadogexporter
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /exporter/prometheusexporter
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /exporter/splunkhecexporter
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /extension/observer/dockerobserver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /internal/coreinternal
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /internal/docker
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /internal/k8stest
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /internal/metadataproviders
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /processor/k8sattributesprocessor
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /processor/resourcedetectionprocessor
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/aerospikereceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/apachereceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/apachesparkreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/awscontainerinsightreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/bigipreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/dockerstatsreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/elasticsearchreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/flinkmetricsreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/haproxyreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/hostmetricsreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/iisreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/jmxreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/k8sclusterreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/k8sobjectsreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/kafkametricsreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/kubeletstatsreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/memcachedreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/mongodbreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/mysqlreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/nginxreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/postgresqlreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/prometheusreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/purefareceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/purefbreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/redisreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/simpleprometheusreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/snmpreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/sqlqueryreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/vcenterreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /receiver/zookeeperreceiver
Bump github.com/docker/docker from 24.0.6+incompatible to
24.0.7+incompatible in /testbed
Bump github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
from 1.0.772 to 1.0.775 in /exporter/tencentcloudlogserviceexporter
use telemetry settings, don't rely on opencensus for component metrics

Fixes open-telemetry#25148
…en-telemetry#28688)

**Description:** We should have explicit interfaces for the encoding
extensions, which should be used by the receivers/exporters instead of
marshallers and unmarshallers

**Link to tracking Issue:**
open-telemetry#28686
…ry#28807)

Bump github.com/ClickHouse/clickhouse-go/v2 from 2.14.3 to 2.15.0 in
/exporter/clickhouseexporter
Bump github.com/DataDog/datadog-agent/pkg/proto from 0.48.0 to 0.48.1 in
/exporter/datadogexporter
Bump github.com/DataDog/datadog-agent/pkg/trace from 0.48.0 to 0.48.1 in
/exporter/datadogexporter
Bump
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp
from 1.19.1 to 1.20.0 in /exporter/datadogexporter
Bump github.com/aws/aws-sdk-go from 1.46.3 to 1.46.6 in
/exporter/awscloudwatchlogsexporter
Bump github.com/aws/aws-sdk-go from 1.46.3 to 1.46.6 in
/exporter/awsemfexporter
Bump github.com/aws/aws-sdk-go from 1.46.3 to 1.46.6 in
/exporter/awsxrayexporter
Bump github.com/aws/aws-sdk-go from 1.46.3 to 1.46.6 in
/extension/observer/ecsobserver
Bump github.com/aws/aws-sdk-go from 1.46.3 to 1.46.6 in
/internal/aws/awsutil
Bump github.com/aws/aws-sdk-go from 1.46.3 to 1.46.6 in
/internal/aws/k8s
Bump github.com/aws/aws-sdk-go from 1.46.3 to 1.46.6 in
/internal/aws/proxy
Bump github.com/aws/aws-sdk-go from 1.46.3 to 1.46.6 in
/internal/metadataproviders
Bump github.com/aws/aws-sdk-go from 1.46.3 to 1.46.6 in
/processor/resourcedetectionprocessor
Bump github.com/aws/aws-sdk-go from 1.46.3 to 1.46.7 in
/exporter/datadogexporter
Bump github.com/aws/aws-sdk-go from 1.46.3 to 1.46.7 in
/internal/aws/cwlogs
Bump github.com/aws/aws-sdk-go from 1.46.3 to 1.46.7 in
/internal/aws/xray
Bump github.com/aws/aws-sdk-go from 1.46.3 to 1.46.7 in
/internal/aws/xray/testdata/sampleapp
Bump github.com/aws/aws-sdk-go from 1.46.3 to 1.46.7 in
/receiver/awscontainerinsightreceiver
Bump github.com/aws/aws-sdk-go from 1.46.3 to 1.46.7 in
/receiver/awsecscontainermetricsreceiver
Bump github.com/aws/aws-sdk-go from 1.46.3 to 1.46.7 in
/receiver/awsxrayreceiver
Bump github.com/aws/aws-sdk-go-v2/config from 1.19.0 to 1.19.1 in
/exporter/awskinesisexporter
Bump github.com/aws/aws-sdk-go-v2/config from 1.19.0 to 1.19.1 in
/extension/sigv4authextension
Bump github.com/bmatcuk/doublestar/v4 from 4.6.0 to 4.6.1 in /pkg/stanza
Bump github.com/golangci/golangci-lint from 1.55.0 to 1.55.1 in
/internal/tools
Bump github.com/google/uuid from 1.3.1 to 1.4.0 in /cmd/configschema
Bump github.com/google/uuid from 1.3.1 to 1.4.0 in
/exporter/awscloudwatchlogsexporter
Bump github.com/google/uuid from 1.3.1 to 1.4.0 in
/exporter/awsemfexporter
Bump github.com/google/uuid from 1.3.1 to 1.4.0 in
/exporter/awskinesisexporter
Bump github.com/google/uuid from 1.3.1 to 1.4.0 in
/exporter/googlecloudpubsubexporter
Bump github.com/google/uuid from 1.3.1 to 1.4.0 in
/exporter/tanzuobservabilityexporter
Bump github.com/google/uuid from 1.3.1 to 1.4.0 in /pkg/ottl
Bump github.com/google/uuid from 1.3.1 to 1.4.0 in
/processor/k8sattributesprocessor
Bump github.com/google/uuid from 1.3.1 to 1.4.0 in
/processor/tailsamplingprocessor
Bump github.com/google/uuid from 1.3.1 to 1.4.0 in
/receiver/awsxrayreceiver
Bump github.com/google/uuid from 1.3.1 to 1.4.0 in
/receiver/k8sclusterreceiver
Bump github.com/google/uuid from 1.3.1 to 1.4.0 in
/receiver/kubeletstatsreceiver
Bump github.com/google/uuid from 1.3.1 to 1.4.0 in
/receiver/skywalkingreceiver
Bump github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
from 1.0.775 to 1.0.776 in /exporter/tencentcloudlogserviceexporter
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /exporter/splunkhecexporter
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /extension/observer/dockerobserver
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /internal/coreinternal
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /receiver/aerospikereceiver
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /receiver/apachereceiver
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /receiver/dockerstatsreceiver
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /receiver/elasticsearchreceiver
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /receiver/flinkmetricsreceiver
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /receiver/jmxreceiver
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /receiver/kafkametricsreceiver
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /receiver/memcachedreceiver
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /receiver/mongodbreceiver
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /receiver/mysqlreceiver
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /receiver/nginxreceiver
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /receiver/postgresqlreceiver
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /receiver/redisreceiver
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /receiver/sqlqueryreceiver
Bump github.com/testcontainers/testcontainers-go from 0.25.0 to 0.26.0
in /receiver/zookeeperreceiver
Bump github.com/tinylib/msgp from 1.1.8 to 1.1.9 in
/receiver/fluentforwardreceiver
Bump github.com/vmware/govmomi from 0.32.0 to 0.33.0 in
/receiver/vcenterreceiver
Bump go.etcd.io/bbolt from 1.3.7 to 1.3.8 in /extension/storage
Bump go.uber.org/goleak from 1.2.1 to 1.3.0 in
/processor/tailsamplingprocessor
Bump k8s.io/kubelet from 0.28.2 to 0.28.3 in
/receiver/kubeletstatsreceiver
…ode (open-telemetry#28570)

**Description:**
support adding labels and annotations from the node as additional
resource attributes on telemetry processed through the `k8sattributes`
processor.

**Link to tracking Issue:** Resolve  open-telemetry#22620

---------

Co-authored-by: Tyler Helmuth <[email protected]>
…ry#28815)

Bump
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp
from 1.19.1 to 1.20.0 in /exporter/datadogexporter
Bump github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
from 1.0.776 to 1.0.777 in /exporter/tencentcloudlogserviceexporter
Bump github.com/vmware/govmomi from 0.33.0 to 0.33.1 in
/receiver/vcenterreceiver
…ocs (open-telemetry#27281)

Added clarification that the labels/annotations extraction on the
k8sattributesprocessor sits under `extract` in the config.

Co-authored-by: Dmitrii Anoshin <[email protected]>
open-telemetry#28678)

**Description:** 
Fix a panic when the load scraper for Windows is stopped before being
started. This can happen when the collector fails at startup. In this
case the components are shutdown even if they were not started. This was
encountered in real world usage.

```terminal
2023-10-23T13:13:23.137-0500    info    [email protected]/service.go:170  Starting shutdown...
2023-10-23T13:13:23.138-0500    info    healthcheck/handler.go:132      Health Check state change       {"kind": "extension", "name": "health_check", "status": "unavailable"}
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x0 pc=0x30c4028]

goroutine 1 [running]:
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/loadscraper.stopSampling({0x0?, 0x6000103?})
        github.com/open-telemetry/opentelemetry-collector-contrib/receiver/[email protected]/internal/scraper/loadscraper/load_scraper_windows.go:145 +0xc8
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/loadscraper.(*scraper).shutdown(...)
        github.com/open-telemetry/opentelemetry-collector-contrib/receiver/[email protected]/internal/scraper/loadscraper/load_scraper.go:78
go.opentelemetry.io/collector/component.ShutdownFunc.Shutdown(...)
        go.opentelemetry.io/collector/[email protected]/component.go:84
go.opentelemetry.io/collector/receiver/scraperhelper.(*controller).Shutdown(0xc0000c3a40, {0x71b0d50, 0xc00006c0e0})
        go.opentelemetry.io/collector/[email protected]/scraperhelper/scrapercontroller.go:149 +0x97
go.opentelemetry.io/collector/service/internal/graph.(*Graph).ShutdownAll(0x0?, {0x71b0d50, 0xc00006c0e0})
        go.opentelemetry.io/collector/[email protected]/internal/graph/graph.go:358 +0xc9
go.opentelemetry.io/collector/service.(*Service).Shutdown(0xc0008373b0, {0x71b0d50, 0xc00006c0e0})
        go.opentelemetry.io/collector/[email protected]/service.go:176 +0xd4
go.opentelemetry.io/collector/otelcol.(*Collector).setupConfigurationComponents(0xc000dc6180, {0x71b0d50, 0xc00006c0e0})        go.opentelemetry.io/collector/[email protected]/collector.go:187 +0x708
go.opentelemetry.io/collector/otelcol.(*Collector).Run(0xc000dc6180, {0x71b0d50, 0xc00006c0e0})
        go.opentelemetry.io/collector/[email protected]/collector.go:221 +0x65
go.opentelemetry.io/collector/otelcol.NewCommand.func1(0xc00229cf00, {0x6636c91?, 0x0?, 0x3?})
        go.opentelemetry.io/collector/[email protected]/command.go:27 +0x96
github.com/spf13/cobra.(*Command).execute(0xc00229cf00, {0xc0000ac050, 0x0, 0x3})
        github.com/spf13/[email protected]/command.go:940 +0x862
github.com/spf13/cobra.(*Command).ExecuteC(0xc00229cf00)
        github.com/spf13/[email protected]/command.go:1068 +0x3bd
github.com/spf13/cobra.(*Command).Execute(0xc0022dd860?)
        github.com/spf13/[email protected]/command.go:992 +0x19
main.runInteractive({{0xc0022dd860, 0xc0022ddad0, 0xc0022dda10, 0xc0022dd5f0, 0xc0022ddb00}, {{0x663630d, 0x7}, {0x0, 0x0}, {0x713fdf8, ...}}, ...})
        github.com/signalfx/splunk-otel-collector/cmd/otelcol/main.go:100 +0x5d
main.run({{0xc0022dd860, 0xc0022ddad0, 0xc0022dda10, 0xc0022dd5f0, 0xc0022ddb00}, {{0x663630d, 0x7}, {0x0, 0x0}, {0x713fdf8, ...}}, ...})
        github.com/signalfx/splunk-otel-collector/cmd/otelcol/main_windows.go:33 +0x58
main.main()
        github.com/signalfx/splunk-otel-collector/cmd/otelcol/main.go:93 +0xcba
```
**Link to tracking Issue:**
N/A

**Testing:**
Local test runs.

**Documentation:**
N/A
…pen-telemetry#19421 (open-telemetry#28680)

**Description:**
Update go-sqlite3 on cmd/configschema (same as open-telemetry#19421) to start
re-enabling tests currently being skipped on Windows, see open-telemetry#28679.

**Link to tracking Issue:**
First part of open-telemetry#28679
Related to open-telemetry#11451

**Testing:**
Local tests of `cmd/configschema`.

**Documentation:**
N/A
… of configured event attributes for a span (open-telemetry#27811)

**Description:**
We have an events section for a span. The details for all the exceptions
like exception.type and exception.message are recorded as Events for a
span. Right now, we don't have a feature to add event attributes to span
metrics.

The idea of this PR is to develop a feature which adds a new metric
`events_total` with a default set of dimensions like `service_name,
span_name, span_kind, status_code`. We can configure to add additional
set of dimensions like `exception.type` and `exception.message` which
will be fetched from the Events section for a span

**Link to tracking Issue:**
[27451](open-telemetry#27451)

---------

Co-authored-by: Albert <[email protected]>
…by s3uploader.role_arn (open-telemetry#28674)

**Description:** <Describe what has changed.>

Adding a feature - This feature allows role assumption for s3
exportation. It is especially useful on Kubernetes clusters that are
using [IAM roles for service
accounts](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html)

**Testing:**

Deployed to a Kubernetes cluster as well as an EC2 instance and verified
it would assume the correct role and publish logs to the respective s3
bucket.

**Documentation:**

README updated
…open-telemetry#28817)

The time format of `k8s.pod.start_time` attribute value migrated to
RFC3339:
Before: 2023-07-10 12:34:39.740638 -0700 PDT m=+0.020184946
After: 2023-07-10T12:39:53.112485-07:00
The feature gate can be temporarily reverted back by adding
`--feature-gate=-k8sattr.rfc3339` to the command line.
…metry#27608)

**Description:** 
The APM correlation test is failing with too many retry updates. The
solution is to increase the `CleanupInterval` to allow the test time to
make multiple correlation calls within the same dedup cleanup interval.
I posted the full description in [this issue
comment.](open-telemetry#27059 (comment))

Before this fix this test would fail _almost_ every time since it was
introduced into this repo, I haven't seen any failure since this update
(9 successful runs).

**Link to tracking Issue:** Resolves open-telemetry#27059
@songy23 songy23 merged commit ed0e398 into prod Oct 31, 2023
80 of 82 checks passed
@songy23 songy23 deleted the merge-main-staging branch October 31, 2023 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.