Skip to content

Commit

Permalink
Merge branch 'main' into filter_spans
Browse files Browse the repository at this point in the history
  • Loading branch information
jpkrohling authored Jan 31, 2022
2 parents 096619c + 10cfdaa commit de40fe1
Show file tree
Hide file tree
Showing 600 changed files with 22,419 additions and 6,559 deletions.
4 changes: 3 additions & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ extension/basicauthextension/ @open-telemetry/collector-c
extension/bearertokenauthextension/ @open-telemetry/collector-contrib-approvers @jpkrohling @pavankrish123
extension/healthcheckextension/ @open-telemetry/collector-contrib-approvers @jpkrohling
extension/httpforwarder/ @open-telemetry/collector-contrib-approvers @asuresh4
extension/oauth2clientauthextension/ @open-telemetry/collector-contrib-approvers @jpkrohling @pavankrish123
extension/oauth2clientauthextension/ @open-telemetry/collector-contrib-approvers @pavankrish123 @jpkrohling
extension/observer/ @open-telemetry/collector-contrib-approvers @asuresh4 @jrcamp
extension/observer/ecstaskobserver/ @open-telemetry/collector-contrib-approvers @rmfitzpatrick
extension/observer/k8sobserver/ @open-telemetry/collector-contrib-approvers @rmfitzpatrick @dmitryax
Expand All @@ -74,6 +74,7 @@ internal/docker/ @open-telemetry/collector-c

internal/k8sconfig/ @open-telemetry/collector-contrib-approvers @pmcollins @dmitryax
internal/kubelet/ @open-telemetry/collector-contrib-approvers @dmitryax
internal/scrapertest/ @open-telemetry/collector-contrib-approvers @djaglowski
internal/splunk/ @open-telemetry/collector-contrib-approvers @pmcollins @dmitryax
internal/stanza/ @open-telemetry/collector-contrib-approvers @djaglowski

Expand Down Expand Up @@ -129,6 +130,7 @@ receiver/nginxreceiver/ @open-telemetry/collector-c
receiver/postgresqlreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski
receiver/prometheusexecreceiver/ @open-telemetry/collector-contrib-approvers @dmitryax
receiver/prometheusreceiver/ @open-telemetry/collector-contrib-approvers @Aneurysm9 @dashpole
receiver/rabbitmqreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski @cpheps
receiver/receivercreator/ @open-telemetry/collector-contrib-approvers @jrcamp
receiver/redisreceiver/ @open-telemetry/collector-contrib-approvers @pmcollins @dmitryax
receiver/sapmreceiver/ @open-telemetry/collector-contrib-approvers @owais
Expand Down
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/new_component.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: New component proposal
about: Suggest a new component for the project
title: 'New component: '
labels: new component
assignees: ''

---

## The purpose and use-cases of the new component
<!--
This information can be used later on to populate the README for the component. See an example overview [here](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/awsecscontainermetricsreceiver#overview).
-->

## Example configuration for the component
<!--
This will be used later on when creating `config.go` and added to README as well. See this receiver as an [example](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/jaegerreceiver#getting-started).
-->

## Telemetry data types supported
<!--
Any combination of traces, metrics and/or logs is valid here.
-->

## Sponsor (Optional)
<!--
A sponsor is an approver who will be in charge of being the official reviewer of the code. For vendor-specific components, it's good to have a volunteer sponsor. If you can't find one, we'll assign one in a round-robin fashion. For non-vendor components, having a sponsor means that your use case has been validated.
If there are no sponsors yet for the component, it's fine: use the issue as a means to try to find a sponsor for your component.
-->
4 changes: 4 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -577,6 +577,10 @@ updates:
directory: "/receiver/prometheusreceiver"
schedule:
interval: "weekly"
- package-ecosystem: "gomod"
directory: "/receiver/rabbitmqreceiver"
schedule:
interval: "weekly"
- package-ecosystem: "gomod"
directory: "/receiver/receivercreator"
schedule:
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:
key: go-build-lint-${{ runner.os }}-${{ hashFiles('**/go.mod', '**/go.sum') }}
- name: Lint
run: make -j2 golint
- name: Checks
- name: Checks
run: make -j4 checkdoc porto
- name: Codegem
run: |
Expand Down Expand Up @@ -425,7 +425,6 @@ jobs:
echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
mkdir bin/ dist/
- name: Cache Tools
id: tool-cache
uses: actions/cache@v2
Expand All @@ -436,7 +435,6 @@ jobs:
id: github_tag
run: ./.github/workflows/scripts/set_release_tag.sh
- name: Create Github Release
if: steps.check.outputs.passed == 'true'
run: |
mkdir -p dist/
ghr -t $GITHUB_TOKEN -u open-telemetry -r opentelemetry-collector-contrib --replace $RELEASE_TAG dist/
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/prometheus-compliance-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
with:
repository: prometheus/compliance
path: compliance
ref: bc7dd4cb6e88e60b702023c199140281c4dce906
ref: f0482884578bac67b053e3eaa1ca7f783d146557
- name: Copy binary to compliance directory
run: mkdir compliance/remote_write_sender/bin && cp ./bin/otelcontribcol_linux_amd64 compliance/remote_write_sender/bin/otelcol_linux_amd64
- name: Run compliance tests
Expand Down
65 changes: 65 additions & 0 deletions .github/workflows/tracegen.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: tracegen
on:
push:
branches: [ main ]
tags:
- 'v[0-9]+.[0-9]+.[0-9]+*'
pull_request:

jobs:
build-dev:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v2
- name: Build tracegen
uses: docker/build-push-action@v2
with:
context: tracegen
push: false
tags: ghcr.io/open-telemetry/opentelemetry-collector-contrib/tracegen:dev

publish-master:
runs-on: ubuntu-latest
if: (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v')) && github.repository == 'open-telemetry/opentelemetry-collector-contrib'
permissions:
packages: write
steps:
- name: Checkout Repo
uses: actions/checkout@v2
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Push tracegen to Github packages
uses: docker/build-push-action@v2
with:
context: tracegen
push: true
tags: ghcr.io/open-telemetry/opentelemetry-collector-contrib/tracegen:latest

publish-stable:
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v') && github.repository == 'open-telemetry/opentelemetry-collector-contrib'
permissions:
packages: write
steps:
- name: Checkout Repo
uses: actions/checkout@v2
- name: Set Release Tag
id: github_tag
run: ./.github/workflows/scripts/set_release_tag.sh
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Push tracegen to Github packages
run: |
docker build tracegen -t ghcr.io/open-telemetry/opentelemetry-collector-contrib/tracegen:$RELEASE_TAG
docker push ghcr.io/open-telemetry/opentelemetry-collector-contrib/tracegen:$RELEASE_TAG
env:
RELEASE_TAG: ${{ steps.github_tag.outputs.tag }}
70 changes: 62 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,39 +4,95 @@

## 💡 Enhancements 💡

- `tanzuobservabilityexporter`: Turn on metrics exporter (#7281)
- `attributesprocessor` `resourceprocessor`: Add `from_context` value source
- `resourcedetectionprocessor`: check cluster config to verify resource is on aws for eks resources (#7186)
- `awscloudwatchlogsexporter`: enable awscloudwatchlogsexporter which accepts and exports log data (#7297)
- `translator/prometheusremotewrite`: add a new module to help translate data from OTLP to Prometheus Remote Write (#7240)
- `jmxreceiver`: Added `additional_jars` configuration option to launch JMX Metric Gatherer JAR with extended `CLASSPATH` (#7378)
- `awscontainerinsightreceiver`: add full pod name when configured to AWS Container Insights Receiver (#7415)
- `filterprocessor`: Add ability to filter trace data (#5838)

## 🛑 Breaking changes 🛑

## 🚀 New components 🚀

## 🧰 Bug fixes 🧰

## v0.43.0

## 💡 Enhancements 💡

- `coralogixexporter`: First implementation of Coralogix Exporter (#6816)
- `cloudfoundryreceiver`: Enable Cloud Foundry client (#7060)
- `elasticsearchexporter`: add elasticsearchexporter to the components exporter list (#6002)
- `elasticsearchreceiver`: Add metric metadata (#6892)
- `elasticsearchreceiver`: Use same metrics as JMX receiver for JVM metrics (#7160)
- `elasticsearchreceiver`: Implement scraping logic (#7174)
- `datadogexporter`: Add http.status_code tag to trace stats (#6889)
- `datadogexporter`: Add configuration option to use OTel span name into the Datatog resource name (#6611)
- `dynatraceexporter`: Write error logs using plugin logger (#7360)
- `mongodbreceiver`: Add initial client code to the component (#7125)
- `tanzuobservabilityexporter`: Support delta histograms (#6897)
- `awscloudwatchlogsexporter`: Use cwlogs package to export logs (#7152)
- `mysqlreceiver`: Add the receiver to available components (#7078)
- `tanzuobservabilityexporter`: Documentation for the memory_limiter configuration (#7164)
- `dynatraceexporter`: Do not shut down exporter when metrics ingest module is temporarily unavailable (#7161)
- `mongodbreceiver`: Add metric metadata (#7163)
- `mongodbreceiver`: Add metric scraping (#7175)
- `postgresqlreceiver`: add the receiver to available components (#7079)
- `filterprocessor`: Add ability to filter trace data (#5838)
- `rabbitmqreceiver`: Add scraper logic (#7299)
- `tanzuobservability exporter`: Support summary metrics (#7121)
- `mongodbatlasreceiver`: Add retry and backoff to HTTP client (#6943)
- Use Jaeger gRPC instead of Thrift in the docker-compose example (#7243)
- `tanzuobservabilityexporter`: Support exponential histograms (#7127)
- `receiver_creator`: Log added and removed endpoint env structs (#7248)
- `prometheusreceiver`: Use the OTLP data conversion path by default. (#7282)
- Use `--feature-gates=-receiver.prometheus.OTLPDirect` to re-enable the
OpenCensus conversion path.
- `extension/observers`: Correctly set image and tag on container endpoints (#7279)
- `tanzuobservabilityexporter`: Document how to enable memory_limiter (#7286)
- `hostreceiver/networkscraper`: Migrate the scraper to the mdatagen metrics builder (#7048)
- `hostmetricsreceiver`: Add MuteProcessNameError config flag to mute specific error reading process executable (#7176)
- `scrapertest`: Improve comparison logic (#7305)
- `hostmetricsreceiver`: add `cpu_average` option for load scraper to report the average cpu load (#6999)
- `scrapertest`: Add comparison option to ignore specific attributes (#6519)
- `tracegen`: Add option to pass in custom headers to export calls via command line (#7308)
- `tracegen`: Provide official container images (#7179)
- `scrapertest`: Add comparison function for pdata.Metrics (#7400)

## 🛑 Breaking changes 🛑

- `tanzuobservabilityexporter`: Remove status.code
- `tanzuobservabilityexporter`: Use semantic conventions for status.message (#7126)
- `k8sattributesprocessor`: Move `kube` and `observability` packages to `internal` folder (#7159)

## 🧰 Bug fixes 🧰

- `mdatagen`: Fix validation of `enabled` field in metadata.yaml (#7166)
- `k8sattributesprocessor`: Unexport processor `Option`s (#7311)
- `zookeeperreceiver`: Refactored metrics to have correct units, types, and combined some metrics via attributes. (#7280)
- `prometheusremotewriteexporter`: `PRWExporter` struct and `NewPRWExporter()`
function are now unexported. (#TBD)
- `newrelicexporter` marked as deprecated (#7284)

## 🚀 New components 🚀

- `rabbitmqreceiver`: Establish codebase for RabbitMQ metrics receiver (#7239)
- Add `basicauth` extension (#7167)
- `k8seventsreceiver`: Implement core logic (#6885)

## 🧰 Bug fixes 🧰

- `k8sattributeprocessor`: Parse IP out of net.Addr to correctly tag k8s.pod.ip (#7077)
- `k8sattributeprocessor`: Process IP correctly for net.Addr instances that are not typed (#7133)
- `mdatagen`: Fix validation of `enabled` field in metadata.yaml (#7166)
- `elasticsearch`: Fix timestamp for each metric being startup time (#7255)
- `prometheusremotewriteexporter`: Fix index out of range panic caused by expiring metrics (#7149)
- `resourcedetection`: Log the error when checking for ec2metadata availability (#7296)

## v0.42.0

## 💡 Enhancements 💡

- `couchbasereceiver`: Add couchbase client (#7122)
- `couchdbreceiver`: Add couchdb scraper (#7131)
- `couchdbreceiver`: Add couchdb client (#6880)
- `elasticsearchreceiver`: Implement scraper client (#7019)
- `couchdbreceiver`: Add metadata metrics (#6878)
Expand All @@ -45,7 +101,6 @@
- `prometheusreceiver`: Set OTLP no-data-present flag for stale scraped metrics. (#7043)
- `mysqlreceiver`: Add Integration test (#6916)
- `datadogexporter`: Add compatibility with ECS Fargate semantic conventions (#6670)
- `datadogexporter`: Add configuration option to use OTel span name into the Datatog resource name (#6611)
- `k8s_observer`: discover k8s.node endpoints (#6820)
- `redisreceiver`: Add missing description fields to keyspace metrics (#6940)
- `redisreceiver`: Set start timestamp uniformly for gauge and sum metrics (#6941)
Expand Down Expand Up @@ -79,8 +134,7 @@
- Sanitize URLs being logged (#7021)
- `prometheusreceiver`: Fix start time tracking for long scrape intervals (#7053)
- `signalfxexporter`: Don't use syscall to avoid compilation errors on some platforms (#7062)
- `k8sattributeprocessor`: Parse IP out of net.Addr to correctly tag k8s.pod.ip (#7077)
- `k8sattributeprocessor`: Process IP correctly for net.Addr instances that are not typed (#7133)
- `tailsamplingprocessor`: Add support for new policies as composite sub-policies (#6975)

## 💡 Enhancements 💡

Expand Down
7 changes: 7 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@ before you begin your work.

## Adding New Components

**Before** any code is written, [open an issue](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/new?assignees=&labels=new+component&template=new_component.md&title=New%20component) providing the following information:

* Who's the sponsor for your component. A sponsor is an approver who will be in charge of being the official reviewer of the code and become a code owner for the component. For vendor-specific components, it's good to have a volunteer sponsor. If you can't find one, we'll assign one in a round-robin fashion. For non-vendor specific components, having a sponsor means that your use case has been validated.
* Some information about your component, such as the reasoning behind it, use-cases, telemetry data types supported, and anything else you think is relevant for us to make a decision about accepting the component.
* The configuration options your component will accept. This will help us understand what it does and have an idea of how the implementation might look like.


Any component (receiver, processor, exporter, or extension) needs to implement
the interfaces defined on the [core
repository](https://github.com/open-telemetry/opentelemetry-collector).
Expand Down
Loading

0 comments on commit de40fe1

Please sign in to comment.