-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
New component: Git Provider Receiver #22028
Comments
@adrielp will you directly be contributing this? Are you an OpenTelemetry member? Are you looking to maintain this component going forward? Is a Github representative signing off on this work? |
Thanks for the response @atoulme!
Yes, and likely a few others from Liatrio, INC. If needed it can be a single contributor from Liatrio.
No, happy to become one though.
Absolutely.
No |
The more the merrier. Please read up here on requirements to become a member of OpenTelemetry: Please read here on background around codeowners and membership: You can initially make the first contrib without being a member, and become a codeowner afterwards once you have become a member. |
As a first step, please provide a metadata.yaml file with the list of resource attributes, metrics and attributes you would like to see supported by this receiver. You can link to a gist. This will help potential sponsors understand the scope of the effort. |
Great, thank you for the information! Here's the link to the gist of metrics we have currently built and would want to be part of the initial contribution. |
Last time I was reading through the contribution guidelines, I cam across the Community Contributing Guide which mentioned the CLA. After reading more about the CLA through the Linux Foundation, we, Liatrio, would like to sign as a Corporate Contributor presuming that this is still valid in the process of contributing. |
During the SIG Collector call today, @atoulme mentioned that this might include CI metrics. If that's the case, please engage with the following OTEP, which seeks to establish the semantic conventions for CI/CD: open-telemetry/oteps#223 |
Is there an authentication mechanism that would allow read only access to the information needed for this receiver? I think we should not add the component unless there is no risk due to write access. |
All the code is read only. It pulls sets of data from GraphQL but does not write back. Additionally, in the collector config example, it's intended to leverage the basic auth method, inputting a GitHub token with read permissions explicitly defined. (In the docs we can certainly provide example on how to configure that token). Generally speaking, if the repo is open to the world, then you won't need a token until such time you're rate limited by GitHub (which is a pretty low rate limit). The receiver in its current state will just throw errors until such time the rate limiting is reset. However, for any private repo/org, a token is required and must be configured appropriately. GitHub's documentation is basically what we use to accomplish this: https://docs.github.com/en/graphql/guides/forming-calls-with-graphql |
Thanks for the link to the OTEPs! Definitely have some thoughts and will engage with that PR through comments. |
I have done a cursory review of the metrics. I believe there is a bit of refinement needed around metric names. I would also chase resource attributes more if possible. For example, all metrics use the The You don't need to prefix attributes, just give them short descriptive names. For example, Do you need all those metrics, always? I note all metrics are enabled. Can you disable some? Can you remove some? For example, The Some food for thought. Next step: I have presented your receiver at the SIG meeting. Maintainers and approvers will take a look. Someone might step up. Please feel free to meet with them on Slack, by commenting here, or at the next SIG meeting. One of them might sponsor this receiver. |
Awesome, thanks @atoulme ! Appreciate the feedback on the metadata.yaml and agree with your points. Will happily address and iterate on that initial example file. I've joined in on slack and am in a couple of the otel channels. Am happy to huddle most any time! |
I've gone ahead and posted in the Slack Channel looking for a sponsor for the receiver. Hopefully that's the right channel, I was torn between that and the codeowners one. |
The metadata.yaml Gist has been updated to reflect some of those changes. Will be attending the SIG today at 9PT in hopes of finding a sponsor and to be visible. |
I would suggest not having a precomputed aggregated values since it can cause misleading statistics once landed in vendor of choice. Keeping it a simple count of recorded value mean you can save the complicated on the vendor. |
Would the GitHub API be called in a recurring manner, using a |
That's a really good call out @MovieStoreGuy of which makes a lot of sense and I agree with. Will update the Gist to remove the standard deviation & mean calculations. Age by itself is a calculation. Would it be best to remove age as a value and add it as an attribute to a the branch / pr metrics, or something to that effect?
@astencel-sumo We have a home grown metric collector (python script) from a while ago that currently runs every 15 minutes. Ideally we'd have better resolution on these metrics, especially when we start to include metrics on workflows etc. However, that is a bridge to cross for another days, particularly given the OTEP on CI/CD and how that relates. GitHub does rate limit API calls so in the current github receiver prototype we don't use the rest API and instead use the GraphQL API. Because of how the REST API is structured, it takes many calls too get these metrics from. GraphQL lets you do it one go, reducing the number of calls and enabling the scraper to run more frequently. Ideally, my "guess" at a sweet spot following the 80/20 rule would be to default the interval to 30 - 60 seconds. We currently have it running at 15. And of course, each deployment may choose a different time. |
I believe receiver like this would be useful. I'd be in favor of a "GitHub receiver" that can provide these metrics. Looking at your gist, I can see a lot of improvements to be made to the names of particular metrics, but these can be ironed out in the implementation. In the meantime, you might want to browse the specification. To further understand the scope of this receiver, @adrielp would you mind sharing a GraphQL query that you have in mind that this receiver would execute, together with the parameters of the query that would be configurable? Possibly simply what that "home grown metric collector (python script)" is currently doing. I wonder if it makes sense to craft a generic "GraphQL receiver" or an "HTTP receiver" that could be configured to run any query against any API. I think the Flex receiver proposal was close. There's a recent discussion in the contrib community that I understand as "there are so many components in contrib already, we need to slow down with adding new components". I wonder if it affects this proposal, among others. 🤔 |
@astencel-sumo thanks for the link to the spec. I've been down a myriad of docs and lost that one in the process. 😅 Happy to make those adjustments as quickly as possible once the PR's are deemed ok to start flowing. Just for context, the home grown metric collector (python script) actually cloned down repositories and iterated through the git history locally instead of relying on any given API. Due to that, it worked for multiple different SCM sources. GraphQL queries are similar to REST API calls in that they're unique to the data structure. Having a generic receiver for GraphQL scrape queries would make it such that anyone could set anything and potentially open the door to security risks since anyone could define anything. The queries imo should be explicitly defined within the code. They're not the prettiest things either from a readability perspective. In iterative fashion, I would love to get the OTEL receiver for GitHub commited via a PR as we already have the structure & have it running. We could maintain our own distribution as a vendor (the SIG conversations about vendor distros & OCB were interesting - especially since we, and our clients, really love OCB as a tool and the way things are structured here) but we'd much rather contribute to this project directly as maintainers of the receiver instead of just rolling our own distro. While it's cool to be able to roll your own distro, I find it can cause issues. Just in the example of ADOT, the ADOT collector works with XRay tracing out of the box, but the exporter for XRay in this contrib repo has issues on converting the traces. ( we're going to open an issue about this once we find out the specific difference) That makes the XRay exporter not really usable from this repo, enforcing the use of ADOT even though ADOT is roughly 6 months behind in terms of feature sets. An example query structure for getting the branch information from a given repo is as follows: var query struct {
Repository struct {
Refs struct {
TotalCount int
Nodes []struct {
Name string
Target struct {
Commit struct {
History struct {
TotalCount int
Edges []struct {
Node struct {
CommittedDate string
}
}
PageInfo struct {
EndCursor string
}
}
} `graphql:"... on Commit"`
}
}
} `graphql:"refs(refPrefix: \"refs/heads/\", first: 100)"`
} `graphql:"repository(name: $repoName, owner: $owner)"`
}
I really hope not. Again, if necessary we could do our own distro ( I don't want to though, would much rather be closer to contributing to the community than farther away). We have multiple receivers ready to go from Team Effectiveness style metrics + security focused metrics for various tooling that we use. For example, we in short order will be opening an issue for a GitLab receiver as well for similar metrics. Want to get this one out of the way and contributed first so that I can get to the point of providing sponsorship for others to contribute those receivers to reduce overhead on the OTEL team (presuming that would be ok with y'all once at that point). |
My thoughts on this is no, the problems being conveyed from the issue is that we need more people to help maintain the project. We are doing our best as a collective group but it doesn't mean that there is some days that shit hits the fan because someone deleted a git tag we depended on. What it means for this PR is that we would really appreciate a gauge on how much effort you could provide to help maintain your component or see if you can gather interest from Github's engineering group to take on. CI/CD is close to my heart as it where I started in Atlassian so I greatly appreciate pushing the conversation but there is a conflict of interest for me to sponsor this addition. |
Thanks a lot @adrielp, your comment is very informative and helpful, giving a lot of context. I especially appreciate that you shared it's not only about GitHub - that was my thought when I first read this proposal. We could imagine other Git/SCM being sources of such "repository" metrics like GitLab, BitBucket, etc. This in turn means perhaps we should consider more generic names to the metrics - instead of I'm in favor of being flexible. Let's start with what we have now (adjusting to the semantic conventions of course), mark the new component as "alpha"/"experimental", and move forward, potentially introducing breaking changes like renaming metrics etc. |
Good to know @MovieStoreGuy . Our intent is to continually provide support to maintain this component, and others we contribute. I'm kicking off Liatrio's contributions to OTEL, and our plan is to have multiple people from Liatrio start to contribute to OTEL. We're already working on these things internally kicking off an initiative.
That's a really good call out @astencel-sumo . That comment stimulated an idea and some questions. Is having one receiver with multiple sub-packages for communicating to different vendors a pattern y'all find valid? Theoretically ( i haven't dug in) we could just make a My two concerns there are:
awesome, sounds good. Huge fan of iteration. So am i understanding right that basically you're willing to sponsor and I can go ahead and get those pr's rolling ready to make changes, improvements, meet conventions, etc? 😄 |
I think it all depends. 😅 For example, in case of database health metrics, there are currently separate receivers for each database engine: MySQL, Oracle, PostgreSQL, etc. Part of it is probably that they all report different sets of metrics. If (if!) we were able to determine a "standard" set of metrics (I'm thinking of scoping them to "repository health metrics") that can be obtained in the same form from different Git vendors, I think it would make sense to keep those different vendor implementations in a single "Git repository health receiver".
I don't think that would cause a conflict of any kind. The metrics reported by the various receivers would have the same names, but different attributes. I don't think it's incorrect for different receivers to produce the same metric names.
Do we need to authenticate via an extension? The receiver could have separate config section for each vendor: receivers:
gitrepohealth:
github:
username:
token:
gitlab:
... Or perhaps it might be possible to configure a different auth extension for each vendor? 🤔 Would need to verify if this would work. extensions:
basicauth/github:
...
basicauth/gitlab:
...
receivers:
gitrepohealth:
github:
auth: basicauth/github
gitlab:
auth: basicauth/gitlab
Yes, I'm willing to sponsor a receiver that will retrieve "Git repository health" metrics. If there's no opposition to this, let's kick off the implementation and see where it leads us. For the initial PR, I propose that you produce the skeleton of the receiver with minimal, if any, implementation of the actual functionality - we want to keep the PR size manageble and for this, we want to do things iteratively. 💪 🙂 |
Awesome, thanks @astencel-sumo!! Looking forward to it! Appreciate the information here. After some thinking on this, and investigation, I do believe it's possible to achieve. I've started converting the working With this pattern, the two things I'm currently thinking about are:
|
This issue is still active. Development has been ongoing in the upstream liatrio-otel-collector. There have been some performance/graphql intricacies so we've been prototyping & improving very quickly there before getting the scraper integrated into contrib. The skeleton of the receiver is in however, so will be contributing the next phase of PR's soon. |
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping |
…ics (#28885) **Description:** Second PR for the gitprovider receiver to add functionality for repo, branch, and contributor count metrics. There will have to be more than 4 repos given the amount of metrics collected in this scraper, so we're only adding these 3 to show capability and foundation. #22028 **Testing:** Basic tests included for the functionality. **Documentation:** Documentation updated to include information about configuration of metrics and the metrics that are currently available alongside targets. --------- Co-authored-by: Antoine Toulme <[email protected]> Co-authored-by: Pablo Baeyens <[email protected]>
…ics (open-telemetry#28885) **Description:** Second PR for the gitprovider receiver to add functionality for repo, branch, and contributor count metrics. There will have to be more than 4 repos given the amount of metrics collected in this scraper, so we're only adding these 3 to show capability and foundation. open-telemetry#22028 **Testing:** Basic tests included for the functionality. **Documentation:** Documentation updated to include information about configuration of metrics and the metrics that are currently available alongside targets. --------- Co-authored-by: Antoine Toulme <[email protected]> Co-authored-by: Pablo Baeyens <[email protected]>
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping |
This is still open & having contributions come through. Receiver is in development. |
Pinging code owners for receiver/gitprovider: @adrielp @astencel-sumo. See Adding Labels via Comments if you do not have permissions to add labels yourself. |
**Description:** This is the 3rd PR for the `gitproviderreceiver` that adds functionality for the following Pull Request metrics: - `git.repository.pull_request.open.count` - `git.repository.pull_request.open.time` - `git.repository.pull_request.merged.count` - `git.repository.pull_request.merged.time` - `git.repository.pull_request.approved.time` **Link to tracking Issue:** #22028 **Testing:** Basic tests included for new functionality. **Documentation:** Documentation has been updated to include information regarding the new metrics. --------- Co-authored-by: Adriel Perkins <[email protected]> Co-authored-by: Andrzej Stencel <[email protected]>
I believe this new component has now landed, closing as complete. Please reopen otherwise. |
…ics (#32812) **Description:** Adds the following branch based metrics. * git.repository.branch.time * git.repository.branch.commit.aheadby.count * git.repository.branch.commit.behindby.count * git.repository.branch.line.deletion.count * git.repository.branch.line.addition.count Additionally brings this receiver very close to the source version in the Liatrio Distro. Brings the testing up to par as well. After this pull request is merged, I'd like to move this component to alpha status so it can be built within the contrib binary and used by others. Once in alpha, I'd like to bring over the newest metric (repository.cve.count), bring over the GitLab scraper, and potentially propose a new component I developed to work in-tandem with this receiver, the GitHub App Authentication extension. **Link to tracking Issue:** #22028 **Testing:** Brings testing inline with source and include scrape testing. **Documentation:** Updated the documentation to reflect the additional metrics. --------- Co-authored-by: Curtis Robert <[email protected]>
* fix(deps): update module github.com/datadog/agent-payload/v5 to v5.0.121 (#33373) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/DataDog/agent-payload/v5](https://togithub.com/DataDog/agent-payload) | `v5.0.120` -> `v5.0.121` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fagent-payload%2fv5/v5.0.121?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fagent-payload%2fv5/v5.0.121?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fagent-payload%2fv5/v5.0.120/v5.0.121?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fagent-payload%2fv5/v5.0.120/v5.0.121?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>DataDog/agent-payload (github.com/DataDog/agent-payload/v5)</summary> ### [`v5.0.121`](https://togithub.com/DataDog/agent-payload/releases/tag/v5.0.121) [Compare Source](https://togithub.com/DataDog/agent-payload/compare/v5.0.120...v5.0.121) #### What's Changed - Add ManifestCollector tags by [@​aureleoules](https://togithub.com/aureleoules) in [https://github.com/DataDog/agent-payload/pull/318](https://togithub.com/DataDog/agent-payload/pull/318) **Full Changelog**: https://github.com/DataDog/agent-payload/compare/v5.0.120...v5.0.121 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zODguMSIsInVwZGF0ZWRJblZlciI6IjM3LjM4OC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <[email protected]> Co-authored-by: Yang Song <[email protected]> * [googlecloudspannerreceiver] Mark the component as unmaintained (#33382) Linked to #32651 Signed-off-by: Alex Boten <[email protected]> * [chore] [receiver/kubeletstats] move utilization metrics in standalone helper func (#33335) **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.--> `kubeletstats` receiver performs the CPU metrics addition in the [`addCPUMetrics`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.101.0/receiver/kubeletstatsreceiver/internal/kubelet/cpu.go#L13) helper function. This function calls respectively the [`addCPUUsageMetric`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.101.0/receiver/kubeletstatsreceiver/internal/kubelet/cpu.go#L21) and the [`addCPUTimeMetric`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.101.0/receiver/kubeletstatsreceiver/internal/kubelet/cpu.go#L37). However the [`addCPUUsageMetric`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.101.0/receiver/kubeletstatsreceiver/internal/kubelet/cpu.go#L21) adds not only the `*.usage` metric but some `*utilization` ones as well. This change moves the addition of the `*utilization` metrics to a standalone `addCPUUtilizationMetrics` helper function. **Link to tracking Issue:** <Issue number if applicable> - **Testing:** <Describe what testing was performed and which tests were added.> - **Documentation:** <Describe the documentation added.> - --------- Signed-off-by: ChrsMark <[email protected]> * fix(deps): update module google.golang.org/api to v0.183.0 (#33381) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google.golang.org/api](https://togithub.com/googleapis/google-api-go-client) | `v0.182.0` -> `v0.183.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.183.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fapi/v0.183.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fapi/v0.182.0/v0.183.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.182.0/v0.183.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>googleapis/google-api-go-client (google.golang.org/api)</summary> ### [`v0.183.0`](https://togithub.com/googleapis/google-api-go-client/releases/tag/v0.183.0) [Compare Source](https://togithub.com/googleapis/google-api-go-client/compare/v0.182.0...v0.183.0) ##### Features - **all:** Auto-regenerate discovery clients ([#​2611](https://togithub.com/googleapis/google-api-go-client/issues/2611)) ([1de148b](https://togithub.com/googleapis/google-api-go-client/commit/1de148b049cad72efb924df7f3435bcbca7d214f)) - **all:** Auto-regenerate discovery clients ([#​2616](https://togithub.com/googleapis/google-api-go-client/issues/2616)) ([5f21214](https://togithub.com/googleapis/google-api-go-client/commit/5f21214e2284f5162d89383f528326325091796c)) - **all:** Auto-regenerate discovery clients ([#​2617](https://togithub.com/googleapis/google-api-go-client/issues/2617)) ([08fdd71](https://togithub.com/googleapis/google-api-go-client/commit/08fdd71cae0bbfd16ed7e13a00c8bc7dd596ce94)) - **all:** Auto-regenerate discovery clients ([#​2619](https://togithub.com/googleapis/google-api-go-client/issues/2619)) ([c7f1614](https://togithub.com/googleapis/google-api-go-client/commit/c7f161413cf50b50db98ba483afc2f2344e0896f)) - **all:** Auto-regenerate discovery clients ([#​2622](https://togithub.com/googleapis/google-api-go-client/issues/2622)) ([0077748](https://togithub.com/googleapis/google-api-go-client/commit/007774894a48d24634ace7b9e09def4d61433f7f)) ##### Bug Fixes - Add another temporary dep on genproto ([#​2614](https://togithub.com/googleapis/google-api-go-client/issues/2614)) ([4f98211](https://togithub.com/googleapis/google-api-go-client/commit/4f9821115b5b14b2a32a4cdcbbb84bed018dac2c)), refs [#​2559](https://togithub.com/googleapis/google-api-go-client/issues/2559) [#​2613](https://togithub.com/googleapis/google-api-go-client/issues/2613) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zODguMSIsInVwZGF0ZWRJblZlciI6IjM3LjM4OC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <[email protected]> Co-authored-by: Yang Song <[email protected]> * [chore] run make gengithub (#33385) * [cmd/configschema] Remove `cmd/configschema` (#33384) Removes the deprecated `cmd/configschema`. The command is not used in our repository and is a source of dependency pain Closes https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/30187 * [chore] Remove use of `confighttp.ClientConfig.RoundTripper` (#33371) **Description:** * lokiexporter and sumologicexporter: Neither need to use this field for their tests, it can be replaced without loss of functionality with another config field. * oauth2clientextension: This should directly rely on the `http.Client` interface. * ecstaskobserver docs: I don't think there was ever a way to unmarshal this field, so there shouldn't be a doc for how to configure it. **Link to tracking Issue:** Soft required for https://github.com/open-telemetry/opentelemetry-collector/pull/10310 so we don't use deprecated APIs. * Adding Proxy support for Datadog Exporter (#33316) **Description:** Support the ProxyUrl parameter for the Datadog Exporter ptal @mx-psi @songy23 * [chore] update go to 1.21.11/1.22.4 (#33386) Signed-off-by: Alex Boten <[email protected]> Co-authored-by: Pablo Baeyens <[email protected]> * [receiver/gitproviderreceiver] add branch time, commit, and line metrics (#32812) **Description:** Adds the following branch based metrics. * git.repository.branch.time * git.repository.branch.commit.aheadby.count * git.repository.branch.commit.behindby.count * git.repository.branch.line.deletion.count * git.repository.branch.line.addition.count Additionally brings this receiver very close to the source version in the Liatrio Distro. Brings the testing up to par as well. After this pull request is merged, I'd like to move this component to alpha status so it can be built within the contrib binary and used by others. Once in alpha, I'd like to bring over the newest metric (repository.cve.count), bring over the GitLab scraper, and potentially propose a new component I developed to work in-tandem with this receiver, the GitHub App Authentication extension. **Link to tracking Issue:** #22028 **Testing:** Brings testing inline with source and include scrape testing. **Documentation:** Updated the documentation to reflect the additional metrics. --------- Co-authored-by: Curtis Robert <[email protected]> * [exporter/coralogix] feat: allow setting application name from custom resource attributes (#33218) **Description:** allow setting application name from cx.application.name and cx.subsystem.name attributes. To support simplified use case, such as: ```yaml receivers: filelog/nginx: include: - '/tmp/tmp.log' include_file_path: true include_file_name: false start_at: end resource: cx.subsystem.name: nginx filelog/access-log: include: - '/tmp/access.log' include_file_path: true include_file_name: false resource: cx.subsystem.name: access-log exporters: coralogix: domain: 'coralogix.com' private_key: "XXX" application_name: 'app_name' timeout: 30s service: pipelines: logs: receivers: [filelog/nginx, filelog/access-log] exporters: [coralogix] ``` **Link to tracking Issue:** <Issue number if applicable> https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33217 **Testing:** <Describe what testing was performed and which tests were added.> - unit tests - manually tested **Documentation:** <Describe the documentation added.> - updated docs --------- Co-authored-by: Pablo Baeyens <[email protected]> * fix(deps): update module github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common to v1.0.936 (#33358) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common](https://togithub.com/tencentcloud/tencentcloud-sdk-go) | `v1.0.931` -> `v1.0.936` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2ftencentcloud%2ftencentcloud-sdk-go%2ftencentcloud%2fcommon/v1.0.936?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2ftencentcloud%2ftencentcloud-sdk-go%2ftencentcloud%2fcommon/v1.0.936?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2ftencentcloud%2ftencentcloud-sdk-go%2ftencentcloud%2fcommon/v1.0.931/v1.0.936?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2ftencentcloud%2ftencentcloud-sdk-go%2ftencentcloud%2fcommon/v1.0.931/v1.0.936?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>tencentcloud/tencentcloud-sdk-go (github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common)</summary> ### [`v1.0.936`](https://togithub.com/tencentcloud/tencentcloud-sdk-go/blob/HEAD/CHANGELOG.md#Release-v10936) [Compare Source](https://togithub.com/tencentcloud/tencentcloud-sdk-go/compare/v1.0.935...v1.0.936) #### 物联网通信(iotcloud) 版本:2021-04-08 ##### 第 11 次发布 发布时间:2024-06-05 01:47:50 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [DescribeFirmware](https://cloud.tencent.com/document/api/634/73630) - 新增出参:UserDefined 修改数据结构: - [FirmwareInfo](https://cloud.tencent.com/document/api/634/71973#FirmwareInfo) - 新增成员:UserDefined #### 物联网通信(iotcloud) 版本:2018-06-14 #### 物联网开发平台(iotexplorer) 版本:2019-04-23 ##### 第 65 次发布 发布时间:2024-06-05 01:48:26 本次发布包含了以下内容: 改善已有的文档。 修改数据结构: - [FirmwareInfo](https://cloud.tencent.com/document/api/1081/34988#FirmwareInfo) - 新增成员:UserDefined #### 流计算 Oceanus(oceanus) 版本:2019-04-22 ##### 第 56 次发布 发布时间:2024-06-05 02:02:33 本次发布包含了以下内容: 改善已有的文档。 修改数据结构: - [Cluster](https://cloud.tencent.com/document/api/849/52010#Cluster) - 新增成员:ResourceType #### 音速达直播音乐版权引擎(yinsuda) 版本:2022-05-27 ##### 第 19 次发布 发布时间:2024-06-05 02:38:46 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [DescribeKTVMusicAccompanySegmentUrlVip](https://cloud.tencent.com/document/api/1592/102622) - 新增入参:RoomId 修改数据结构: - [LiveVipTradeInfo](https://cloud.tencent.com/document/api/1592/76191#LiveVipTradeInfo) - <font color="#dd0000">**修改成员**:</font>TradeSerialNo, AppName, UserId, RoomId, VipDays, Status, CreateTime - [LiveVipUserInfo](https://cloud.tencent.com/document/api/1592/76191#LiveVipUserInfo) - <font color="#dd0000">**修改成员**:</font>RoomId, LiveVipEndTime, LiveVipStatus - [UserInfo](https://cloud.tencent.com/document/api/1592/76191#UserInfo) - <font color="#dd0000">**修改成员**:</font>AppName, UserId, LiveVipUserInfo, UserType ### [`v1.0.935`](https://togithub.com/tencentcloud/tencentcloud-sdk-go/blob/HEAD/CHANGELOG.md#Release-v10935) [Compare Source](https://togithub.com/tencentcloud/tencentcloud-sdk-go/compare/v1.0.934...v1.0.935) #### T-Sec-DDoS防护(Anti-DDoS)(antiddos) 版本:2020-03-09 ##### 第 67 次发布 发布时间:2024-06-04 01:07:52 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [DescribeListBGPInstances](https://cloud.tencent.com/document/api/297/95346) - 新增入参:FilterZoneIdList 修改数据结构: - [BGPInstance](https://cloud.tencent.com/document/api/297/95396#BGPInstance) - 新增成员:ZoneId #### 云数据库 MySQL(cdb) 版本:2017-03-20 ##### 第 158 次发布 发布时间:2024-06-04 01:16:12 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [AdjustCdbProxyAddress](https://cloud.tencent.com/document/api/236/90589) - 新增入参:AutoLoadBalance, AccessMode - [CreateCdbProxyAddress](https://cloud.tencent.com/document/api/236/90586) - 新增入参:AutoLoadBalance, AccessMode - [DescribeProxySupportParam](https://cloud.tencent.com/document/api/236/90584) - 新增出参:SupportAutoLoadBalance, SupportAccessMode 修改数据结构: - [ProxyAddress](https://cloud.tencent.com/document/api/236/15878#ProxyAddress) - 新增成员:AccessMode, AutoLoadBalance - [ProxyInst](https://cloud.tencent.com/document/api/236/15878#ProxyInst) - 新增成员:InstNodeId, InstNodeRole #### 域名注册(domain) 版本:2018-08-08 ##### 第 38 次发布 发布时间:2024-06-04 01:35:42 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [ReservedPreDomains](https://cloud.tencent.com/document/api/242/103887) - 新增入参:IsAutoPay, IsBidAutoPay #### 腾讯电子签企业版(ess) 版本:2020-11-11 ##### 第 174 次发布 发布时间:2024-06-04 01:41:39 本次发布包含了以下内容: 改善已有的文档。 新增接口: - [CreateUserMobileChangeUrl](https://cloud.tencent.com/document/api/1323/106775) #### 微服务引擎(tse) 版本:2020-12-07 ##### 第 68 次发布 发布时间:2024-06-04 02:26:13 本次发布包含了以下内容: 改善已有的文档。 修改数据结构: - [KongUpstreamInfo](https://cloud.tencent.com/document/api/1364/54942#KongUpstreamInfo) - 新增成员:ScfIsBase64Encoded, ScfIsIntegratedResponse #### 微服务平台 TSF(tsf) 版本:2018-03-26 ##### 第 107 次发布 发布时间:2024-06-04 02:27:15 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [DeleteApplication](https://cloud.tencent.com/document/api/649/36093) - 新增入参:SyncDeleteImageRepository - [DescribeMicroservices](https://cloud.tencent.com/document/api/649/36084) - 新增入参:ConfigCenterInstanceId - [DescribeStatistics](https://cloud.tencent.com/document/api/649/70427) - 新增入参:ConfigCenterInstanceId 修改数据结构: - [ConfigRelease](https://cloud.tencent.com/document/api/649/36099#ConfigRelease) - 新增成员:DaulStatus - [TsfConfigCenter](https://cloud.tencent.com/document/api/649/36099#TsfConfigCenter) - 新增成员:CurrentVersion, TargetVersion #### 向量数据库(vdb) 版本:2023-06-16 ##### 第 1 次发布 发布时间:2024-06-03 15:48:04 本次发布包含了以下内容: 改善已有的文档。 新增接口: - [DescribeInstances](https://cloud.tencent.com/document/api/1709/106756) 新增数据结构: - [InstanceInfo](https://cloud.tencent.com/document/api/1709/106757#InstanceInfo) - [Network](https://cloud.tencent.com/document/api/1709/106757#Network) - [Tag](https://cloud.tencent.com/document/api/1709/106757#Tag) #### Web 应用防火墙(waf) 版本:2018-01-25 ##### 第 85 次发布 发布时间:2024-06-04 02:34:05 本次发布包含了以下内容: 改善已有的文档。 新增接口: - [ModifyApiSecEventChange](https://cloud.tencent.com/document/api/627/106776) 新增数据结构: - [ApiSecKey](https://cloud.tencent.com/document/api/627/53609#ApiSecKey) #### 数据开发治理平台 WeData(wedata) 版本:2021-08-20 ##### 第 91 次发布 发布时间:2024-06-04 02:35:39 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [UploadContent](https://cloud.tencent.com/document/api/1267/93282) - 新增入参:ProjectId ### [`v1.0.934`](https://togithub.com/tencentcloud/tencentcloud-sdk-go/blob/HEAD/CHANGELOG.md#Release-v10934) [Compare Source](https://togithub.com/tencentcloud/tencentcloud-sdk-go/compare/v1.0.933...v1.0.934) #### 消息队列 RocketMQ 版(trocket) 版本:2023-03-08 ##### 第 15 次发布 发布时间:2024-06-03 02:23:52 本次发布包含了以下内容: 改善已有的文档。 新增接口: - [DescribeFusionInstanceList](https://cloud.tencent.com/document/api/1493/106745) 新增数据结构: - [FusionInstanceItem](https://cloud.tencent.com/document/api/1493/96031#FusionInstanceItem) - [InstanceItemExtraInfo](https://cloud.tencent.com/document/api/1493/96031#InstanceItemExtraInfo) #### 实时音视频(trtc) 版本:2019-07-22 ##### 第 76 次发布 发布时间:2024-06-03 02:25:00 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [DescribeAITranscription](https://cloud.tencent.com/document/api/647/106493) - 新增入参:SdkAppId, SessionId - 新增出参:TaskId, SessionId - [StartAITranscription](https://cloud.tencent.com/document/api/647/106492) - 新增入参:SessionId 修改数据结构: - [RecognizeConfig](https://cloud.tencent.com/document/api/647/44055#RecognizeConfig) - 新增成员:Model ### [`v1.0.933`](https://togithub.com/tencentcloud/tencentcloud-sdk-go/blob/HEAD/CHANGELOG.md#Release-v10933) [Compare Source](https://togithub.com/tencentcloud/tencentcloud-sdk-go/compare/v1.0.932...v1.0.933) #### 商业智能分析 BI(bi) 版本:2022-01-05 ##### 第 12 次发布 发布时间:2024-05-31 01:10:46 本次发布包含了以下内容: 改善已有的文档。 修改数据结构: - [UserInfo](https://cloud.tencent.com/document/api/590/73726#UserInfo) - 新增成员:AppUserId, AppUserName - [UserRoleListDataUserRoleInfo](https://cloud.tencent.com/document/api/590/73726#UserRoleListDataUserRoleInfo) - 新增成员:AppOpenUserId #### 运维安全中心(堡垒机)(dasb) 版本:2019-10-18 ##### 第 27 次发布 发布时间:2024-05-31 01:30:02 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [BindDeviceResource](https://cloud.tencent.com/document/api/1025/74792) - 新增入参:DomainId - [ModifyDevice](https://cloud.tencent.com/document/api/1025/86951) - 新增入参:DomainId 修改数据结构: - [Department](https://cloud.tencent.com/document/api/1025/74416#Department) - <font color="#dd0000">**修改成员**:</font>Id, Name, Managers, ManagerUsers - [Device](https://cloud.tencent.com/document/api/1025/74416#Device) - 新增成员:DomainId, DomainName - [Group](https://cloud.tencent.com/document/api/1025/74416#Group) - <font color="#dd0000">**修改成员**:</font>Id, Name, Department, Count - [Resource](https://cloud.tencent.com/document/api/1025/74416#Resource) - 新增成员:DomainCount, UsedDomainCount #### 数据湖计算 DLC(dlc) 版本:2021-01-25 ##### 第 91 次发布 发布时间:2024-05-31 01:32:25 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [DescribeLakeFsInfo](https://cloud.tencent.com/document/api/1342/87873) - 新增出参:LakeFsInfos 新增数据结构: - [LakeFsInfo](https://cloud.tencent.com/document/api/1342/53778#LakeFsInfo) #### 流计算 Oceanus(oceanus) 版本:2019-04-22 ##### 第 55 次发布 发布时间:2024-05-31 01:58:53 本次发布包含了以下内容: 改善已有的文档。 新增数据结构: - [SubEks](https://cloud.tencent.com/document/api/849/52010#SubEks) 修改数据结构: - [Cluster](https://cloud.tencent.com/document/api/849/52010#Cluster) - 新增成员:Type, SubEks, AgentSerialId - [ClusterGroupSetItem](https://cloud.tencent.com/document/api/849/52010#ClusterGroupSetItem) - 新增成员:SubEks - <font color="#dd0000">**修改成员**:</font>RunningCu, PayMode #### 容器安全服务(tcss) 版本:2020-11-01 ##### 第 62 次发布 发布时间:2024-05-31 02:10:49 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [CreateAssetImageScanSetting](https://cloud.tencent.com/document/api/1285/65591) - 新增入参:ExcludeImages - [DescribeAssetImageScanSetting](https://cloud.tencent.com/document/api/1285/65487) - 新增出参:ExcludeImages - [DescribeImageRegistryTimingScanTask](https://cloud.tencent.com/document/api/1285/65472) - 新增出参:ExcludeImageAssetIds - [UpdateImageRegistryTimingScanTask](https://cloud.tencent.com/document/api/1285/65457) - 新增入参:ExcludeImageAssetIds #### Web 应用防火墙(waf) 版本:2018-01-25 ##### 第 84 次发布 发布时间:2024-05-31 02:29:01 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [AddCustomRule](https://cloud.tencent.com/document/api/627/53608) - 新增入参:JobType, JobDateTime, Source, Label, Status, PageId - <font color="#dd0000">**修改入参**:</font>ExpireTime - [AddCustomWhiteRule](https://cloud.tencent.com/document/api/627/90325) - 新增入参:JobType, JobDateTime - [AddSpartaProtection](https://cloud.tencent.com/document/api/627/72689) - 新增入参:ProbeStatus - [DeleteCustomRule](https://cloud.tencent.com/document/api/627/97444) - 新增入参:DomainRuleIdList - 新增出参:Success - [DescribeCustomRuleList](https://cloud.tencent.com/document/api/627/97443) - 新增入参:DomainList - [ModifyCustomRule](https://cloud.tencent.com/document/api/627/97442) - 新增入参:JobType, JobDateTime, Source, Status, PageId - 新增出参:Success - [ModifyCustomRuleStatus](https://cloud.tencent.com/document/api/627/53599) - 新增入参:DomainRuleIdList - [ModifyCustomWhiteRule](https://cloud.tencent.com/document/api/627/90323) - 新增入参:JobType, JobDateTime - [ModifySpartaProtection](https://cloud.tencent.com/document/api/627/94309) - 新增入参:ProbeStatus - [UpsertCCRule](https://cloud.tencent.com/document/api/627/97646) - 新增入参:CreateTime 新增数据结构: - [CronJob](https://cloud.tencent.com/document/api/627/53609#CronJob) - [DomainRuleId](https://cloud.tencent.com/document/api/627/53609#DomainRuleId) - [JobDateTime](https://cloud.tencent.com/document/api/627/53609#JobDateTime) - [MiniExtendPkg](https://cloud.tencent.com/document/api/627/53609#MiniExtendPkg) - [TimedJob](https://cloud.tencent.com/document/api/627/53609#TimedJob) 修改数据结构: - [BatchIpAccessControlItem](https://cloud.tencent.com/document/api/627/53609#BatchIpAccessControlItem) - 新增成员:CreateTime - [CCRuleItems](https://cloud.tencent.com/document/api/627/53609#CCRuleItems) - 新增成员:CreateTime - [CacheUrlItems](https://cloud.tencent.com/document/api/627/53609#CacheUrlItems) - 新增成员:ModifyTime, CreateTime - [DescribeAntiLeakageItem](https://cloud.tencent.com/document/api/627/53609#DescribeAntiLeakageItem) - 新增成员:ModifyTime - [DescribeCustomRulesRspRuleListItem](https://cloud.tencent.com/document/api/627/53609#DescribeCustomRulesRspRuleListItem) - 新增成员:JobType, JobDateTime, CronType, Label, PageId, Domain - [InstanceInfo](https://cloud.tencent.com/document/api/627/53609#InstanceInfo) - 新增成员:MiniExtendPkg, BillingItem - [IpAccessControlItem](https://cloud.tencent.com/document/api/627/53609#IpAccessControlItem) - 新增成员:CreateTime - [RuleList](https://cloud.tencent.com/document/api/627/53609#RuleList) - 新增成员:CreateTime - [UserDomainInfo](https://cloud.tencent.com/document/api/627/53609#UserDomainInfo) - 新增成员:AlbType, BotStatus, ApiStatus ### [`v1.0.932`](https://togithub.com/tencentcloud/tencentcloud-sdk-go/blob/HEAD/CHANGELOG.md#Release-v10932) [Compare Source](https://togithub.com/tencentcloud/tencentcloud-sdk-go/compare/v1.0.931...v1.0.932) #### 日志服务(cls) 版本:2020-10-16 ##### 第 93 次发布 发布时间:2024-05-30 01:22:05 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [DescribeLogContext](https://cloud.tencent.com/document/api/614/56448) - 新增入参:Query, From, To #### DNSPod(dnspod) 版本:2021-03-23 ##### 第 31 次发布 发布时间:2024-05-30 01:33:24 本次发布包含了以下内容: 改善已有的文档。 新增接口: - [ModifyDomainToGroup](https://cloud.tencent.com/document/api/1427/106668) #### 腾讯云可观测平台(monitor) 版本:2018-07-24 ##### 第 114 次发布 发布时间:2024-05-30 01:55:28 本次发布包含了以下内容: 改善已有的文档。 修改数据结构: - [AlarmPolicyRule](https://cloud.tencent.com/document/api/248/30354#AlarmPolicyRule) - 新增成员:IsLatenessMetric - [Metric](https://cloud.tencent.com/document/api/248/30354#Metric) - 新增成员:IsLatenessMetric - <font color="#dd0000">**修改成员**:</font>Operators, Periods #### 云数据库Redis(redis) 版本:2018-04-12 ##### 第 75 次发布 发布时间:2024-05-30 02:02:41 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [CloneInstances](https://cloud.tencent.com/document/api/239/89391) - 新增入参:CloneTime 修改数据结构: - [InstanceSet](https://cloud.tencent.com/document/api/239/20022#InstanceSet) - 新增成员:BackupMode #### 云开发 CloudBase(tcb) 版本:2018-06-08 ##### 第 102 次发布 发布时间:2024-05-30 02:08:52 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [DescribeWxGateways](https://cloud.tencent.com/document/api/876/94386) - 新增入参:GatewayId 修改数据结构: - [GatewayItem](https://cloud.tencent.com/document/api/876/34822#GatewayItem) - 新增成员:WxAppId, CanRenew, AutoRenewFlag, CanDowngrade, LongAccessId, AccessDomain - <font color="#dd0000">**修改成员**:</font>VersionNumLimit #### 边缘安全加速平台(teo) 版本:2022-09-01 ##### 第 81 次发布 发布时间:2024-05-29 19:42:22 本次发布包含了以下内容: 改善已有的文档。 修改数据结构: - [Rule](https://cloud.tencent.com/document/api/1552/80721#Rule) - <font color="#dd0000">**修改成员**:</font>Actions #### 边缘安全加速平台(teo) 版本:2022-01-06 #### T-Sec-安心平台(RP)(trp) 版本:2021-05-15 ##### 第 34 次发布 发布时间:2024-05-30 02:20:31 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [CreateCodePack](https://cloud.tencent.com/document/api/1458/75028) - 新增入参:SceneCode - [CreateCustomPack](https://cloud.tencent.com/document/api/1458/81464) - 新增入参:SceneCode - [DescribeCodePacks](https://cloud.tencent.com/document/api/1458/75016) - 新增入参:SceneCode, Status 修改数据结构: - [CodePack](https://cloud.tencent.com/document/api/1458/75030#CodePack) - 新增成员:SceneCode, CodeRule, UsedAmount, SerialStart, SerialEnd - [Job](https://cloud.tencent.com/document/api/1458/75030#Job) - 新增成员:ErrorMessage - [PackSpec](https://cloud.tencent.com/document/api/1458/75030#PackSpec) - 新增成员:Unit, SceneCode - [ScanLog](https://cloud.tencent.com/document/api/1458/75030#ScanLog) - 新增成员:ProductLogo, Status, Verify - <font color="#dd0000">**修改成员**:</font>Unionid, First, BatchId, Type, MerchantName, ProductName - [TraceCode](https://cloud.tencent.com/document/api/1458/75030#TraceCode) - 新增成员:PackSpec, SceneCode, SerialCode - <font color="#dd0000">**修改成员**:</font>AgentId, Level </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInVwZGF0ZWRJblZlciI6IjM3LjM4OC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <[email protected]> Co-authored-by: Pablo Baeyens <[email protected]> * [chore][exporter/elasticsearch]Extend benchmarks for mapping mode (#33391) **Description:** Updates benchmarks to consider mapping mode. Mapping mode has a big impact on the benchmark runs since each mapping mode is implemented in a different way. This is a precursor to https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/33374 which aims to improve performance by optimizing allocations. **Link to tracking Issue:** https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32504 **Testing:** <Describe what testing was performed and which tests were added.> `cd integrationtest && go test -count=1 -bench=BenchmarkExporter -run=^$ -v ./...` <details> <summary> Benchmark results from my personal PC</summary> ``` $ go test -count=1 -bench=BenchmarkExporter -run=^$ -v ./... [11:43:00] goos: darwin goarch: arm64 pkg: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter/integrationtest BenchmarkExporter BenchmarkExporter/logs/none/small_batch BenchmarkExporter/logs/none/small_batch-10 19693 62644 ns/op 159633 events/s 59476 B/op 352 allocs/op BenchmarkExporter/logs/none/medium_batch BenchmarkExporter/logs/none/medium_batch-10 2174 549870 ns/op 181861 events/s 586538 B/op 3425 allocs/op BenchmarkExporter/logs/none/large_batch BenchmarkExporter/logs/none/large_batch-10 225 5291466 ns/op 188984 events/s 5856818 B/op 34148 allocs/op BenchmarkExporter/logs/none/xlarge_batch BenchmarkExporter/logs/none/xlarge_batch-10 22 51000769 ns/op 196075 events/s 58486725 B/op 341268 allocs/op BenchmarkExporter/logs/ecs/small_batch BenchmarkExporter/logs/ecs/small_batch-10 31297 38221 ns/op 261637 events/s 48742 B/op 161 allocs/op BenchmarkExporter/logs/ecs/medium_batch BenchmarkExporter/logs/ecs/medium_batch-10 3559 335623 ns/op 297953 events/s 479045 B/op 1520 allocs/op BenchmarkExporter/logs/ecs/large_batch BenchmarkExporter/logs/ecs/large_batch-10 343 3313594 ns/op 301787 events/s 4784951 B/op 15102 allocs/op BenchmarkExporter/logs/ecs/xlarge_batch BenchmarkExporter/logs/ecs/xlarge_batch-10 34 33257379 ns/op 300685 events/s 47837431 B/op 150861 allocs/op BenchmarkExporter/logs/raw/small_batch BenchmarkExporter/logs/raw/small_batch-10 22364 54047 ns/op 185025 events/s 58119 B/op 291 allocs/op BenchmarkExporter/logs/raw/medium_batch BenchmarkExporter/logs/raw/medium_batch-10 2452 484758 ns/op 206288 events/s 572996 B/op 2819 allocs/op BenchmarkExporter/logs/raw/large_batch BenchmarkExporter/logs/raw/large_batch-10 252 4782239 ns/op 209107 events/s 5722459 B/op 28098 allocs/op BenchmarkExporter/logs/raw/xlarge_batch BenchmarkExporter/logs/raw/xlarge_batch-10 25 46517563 ns/op 214973 events/s 57311327 B/op 281046 allocs/op BenchmarkExporter/traces/none/small_batch BenchmarkExporter/traces/none/small_batch-10 18934 64383 ns/op 155321 events/s 61103 B/op 392 allocs/op BenchmarkExporter/traces/none/medium_batch BenchmarkExporter/traces/none/medium_batch-10 2078 573554 ns/op 174352 events/s 602734 B/op 3826 allocs/op BenchmarkExporter/traces/none/large_batch BenchmarkExporter/traces/none/large_batch-10 204 5506740 ns/op 181596 events/s 6019500 B/op 38163 allocs/op BenchmarkExporter/traces/none/xlarge_batch BenchmarkExporter/traces/none/xlarge_batch-10 21 55099689 ns/op 181489 events/s 60130968 B/op 381435 allocs/op BenchmarkExporter/traces/ecs/small_batch BenchmarkExporter/traces/ecs/small_batch-10 18612 64431 ns/op 155204 events/s 61111 B/op 392 allocs/op BenchmarkExporter/traces/ecs/medium_batch BenchmarkExporter/traces/ecs/medium_batch-10 2086 579508 ns/op 172560 events/s 602838 B/op 3826 allocs/op BenchmarkExporter/traces/ecs/large_batch BenchmarkExporter/traces/ecs/large_batch-10 210 5637313 ns/op 177389 events/s 6019330 B/op 38168 allocs/op BenchmarkExporter/traces/ecs/xlarge_batch BenchmarkExporter/traces/ecs/xlarge_batch-10 20 53797696 ns/op 185882 events/s 60170108 B/op 381418 allocs/op BenchmarkExporter/traces/raw/small_batch BenchmarkExporter/traces/raw/small_batch-10 19999 64957 ns/op 153949 events/s 60193 B/op 372 allocs/op BenchmarkExporter/traces/raw/medium_batch BenchmarkExporter/traces/raw/medium_batch-10 2197 533394 ns/op 187479 events/s 592292 B/op 3625 allocs/op BenchmarkExporter/traces/raw/large_batch BenchmarkExporter/traces/raw/large_batch-10 223 5158606 ns/op 193851 events/s 5917039 B/op 36155 allocs/op BenchmarkExporter/traces/raw/xlarge_batch BenchmarkExporter/traces/raw/xlarge_batch-10 22 51159360 ns/op 195468 events/s 59215624 B/op 361363 allocs/op PASS ok github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter/integrationtest 93.126s ``` </details> **Documentation:** <Describe the documentation added.> N/A * [processor/geoip] Initial implementation (#33319) **Description:** <Describe what has changed.> This is the initial implementation of the GeoIP processor. Note that it will still be a NOP (No Operation) from the user's perspective, as no Geo data providers are implemented [nor can be configured yet](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/33268). However, this implementation aims to provide an overview of the processor's logic. The logic is the same for all signals (traces, metrics, and logs). For each signal, the processor follows these steps: 1. Locate an IP address attribute within the resource attributes. If not found, continue; if parsing the IP fails, return an error. By default, the IP address must be included within the `source.address` attribute key, see: https://github.com/open-telemetry/semantic-conventions/blob/v1.26.0/docs/general/attributes.md#source 2. Retrieve the geo-location metadata associated with the IP address using the available GeoProviders. At the moment, no additional check is done on the attributes returned by the providers. In a future PR, the processor will need to validate that all attributes follow the Geo semantic conventions. 3. Append the set of geo attributes to the resource attributes. The `processor/geoipprocessor/internal/provider/geoipprovider.go` file contains an initial interface proposal for the Geo providers. A mock implementation can be found in the geoip_processor_test.go file. **Link to tracking Issue:** https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32663 **Testing:** Unit tests for the signals process **Documentation:** Should we update the README with the available configuration once it becomes operational? --------- Co-authored-by: Tiffany Hrabusa <[email protected]> * [exporter/Logzioexporter] bug fix export log attributes (#33231) **Description:** Fix bug where log attributes were not correctly exported **Link to tracking Issue:** <Issue number if applicable> https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/11409 **Testing:** <Describe what testing was performed and which tests were added.> Updated unit tests **Documentation:** <Describe the documentation added.> No documentation added * [exporter/kafkaexporter] added an option to disable kerberos PA-FX-FAST negotiation (#33086) **Description:** Added the `disable_fast_negotiation` configuration option for Kafka Kerberos authentication. This option allows users to disable the PA-FX-FAST negotiation, which can cause issues when Active Directory is not configured to support it. This change ensures that Kafka Exporters can function correctly in such environments. **Link to tracking Issue:** [26345](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/26345) **Testing:** - Added unit tests to verify the behaviour of the `disable_fast_negotiation` option in the `KerberosConfig` struct. - Tests include scenarios where `disable_fast_negotiation` is set to both `true` and `false`, ensuring that the configuration is correctly applied. **Documentation:** - Updated README files which describe the new configuration option - Updated the changelog to reflect the addition of the `disable_fast_negotiation` configuration option. --------- Co-authored-by: Sean Marciniak <[email protected]> Co-authored-by: Curtis Robert <[email protected]> * [chore] make update-otel (#33396) Addresses GHSA-c74f-6mfw-mm4v --------- Signed-off-by: Pablo Baeyens <[email protected]> * [receiver/sqlserver] Add support for more database IO metrics (#32833) **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.--> This adds more metrics (disabled by default) from the existing `database_io` query. The values being scraped can be found [here](https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-io-virtual-file-stats-transact-sql?view=sql-server-ver16). **Link to tracking Issue:** <Issue number if applicable> Continued work on #29865 **Testing:** <Describe what testing was performed and which tests were added.> Tests added. Also confirmed all expected metrics were properly scraped manually. * [chore] remove use of deprecated component.UnmarshalConfig (#33404) **Description:** Remove use of `component.UnmarshalConfig` this change only affects test code. * [chore] Do not fail if JSON is not found in previous issue (#33395) **Description:** Avoid crashing when JSON section is not present in previous ISSUE **Link to tracking Issue:** #33388 **Testing:** ``` act -j get_issues -e <(echo '{"repository": {"owner": {"login": "your-github-username"}}}') -s GITHUB_TOKEN=<your-token> ``` * [exporter/elasticsearch] validate endpoints (#33350) **Description:** Check that Elasticsearch `endpoints` is a list of valid URLs during config validation. This ensures that syntactically invalid endpoints causes a fatal error during collector startup, rather than leading to a persistent runtime error. Previously, setting an endpoint without a scheme would lead to an error at runtime when attempting a bulk request to Elasticsearch: ``` ... 2024-06-04T10:30:23.244+0800 error elasticsearchexporter/elasticsearch_bulk.go:313 bulk indexer flush error {"kind": "exporter", "data_type": "traces", "name": "elasticsearch", "error": "failed to execute the request: unsupported protocol scheme \"\""} ... ``` Now the collector fails to start up: ``` $ make run cd ./cmd/otelcontribcol && GO111MODULE=on go run --race . --config ../../local/config.yaml Error: invalid configuration: exporters::elasticsearch: invalid endpoint "localhost": invalid scheme "", expected "http" or "https" 2024/06/04 12:23:50 collector server run finished with error: invalid configuration: exporters::elasticsearch: invalid endpoint "localhost": invalid scheme "", expected "http" or "https" exit status 1 make: *** [Makefile:255: run] Error 1 ``` **Link to tracking Issue:** N/A **Testing:** <Describe what testing was performed and which tests were added.> **Documentation:** N/A * [chore] remove use of component.UnmarshalConfig (#33407) Description: Remove use of component.UnmarshalConfig this change only affects test code. Follow up to #33404 --------- Co-authored-by: Andrzej Stencel <[email protected]> * [chore] Clarify that cmd/otelcontribcol and top-level go.mod are not the sources of the contrib distro (#33409) **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.--> Documents the purpose of `cmd/otelcontribcol` and `cmd/oteltestbedcol` in new READMEs and in comments on the builder manifests. Adds note to top-level `go.mod`. This is a common point of confusion and was recently confusing for users on the aftermath of CVE-2024-36129 Counterpart to open-telemetry/opentelemetry-collector/pull/10351 --------- Co-authored-by: Armin Ruech <[email protected]> * [chore] Add issues with waiting-for-code-owners label to the weekly report (#33330) **Description:** Added the list of issues with the `waiting-for-code-owner` to the weekly report **Link to tracking Issue:** #32490 **Testing:** Check the testing_actions.md file **Documentation:** I've added the docs/testing_actions.md file to describe how to test the new functionality --------- Co-authored-by: Pablo Baeyens <[email protected]> * [CI] make update-otel (#32038) **Description:** Seems like there were some bugs, which i wasn't very sure about. It ran the `multimod` cmd with the wrong directory (at least in my case). On top of that i had to remove the `--commit-hash` flag, because per definition it already gets the main branch, but you should have to insert a commit-hash. If not used at all it should just be the latest. Therefore `OTEL_VERSION` and `OTEL_STABLE_VERSION` could be removed or could later on be used to get the latest commit-hash (but has to be implemented). The core-versions in `otelcontribcol/builder-config.yaml` and `oteltestbedcol/builder-config.yaml` will be updated by using `sed`. But these additional lines will only replace sth like: `v0.97.1-0.20240327181407-1038b67c85a0` and update it to: `v0.98.0` So if someone needs any kind of specific version-hash, he still would have to change this manually. This definitely is not a perfect solution for this issue (it just works :sweat_smile: ) , so just tell me if there is something totally stupid in this code. **Link to tracking Issue:** - Resolves #21632 **Testing:** <Describe what testing was performed and which tests were added.> **Documentation:** <Describe the documentation added.> --------- Co-authored-by: Alex Boten <[email protected]> * [chore][docs] Fix name of the Windows Event Log Receiver (#33295) **Description:** <Describe what has changed.> Changing "Windows Log Event Receiver" to "Windows Event Log Receiver" as that is the official name. IBM docs is also linking out to this readme so we need consistency. https://www.ibm.com/docs/en/instana-observability/current?topic=opentelemetry-sending-data-instana-agent#enabling-tls-encryption-for-opentelemetry-ingestion * [chore][processor/probabilisticsampler] Fix typo (#33418) * [chore] Add sponsorship assignment requirement (#33299) As discussed in the collector SIG today, I'm proposing language where auto-assignment of a sponsor is only a given if the component is proposed by a member of the project. * [cmd/opampsupervisor,extension/opamp] Update opamp-go v0.15.0 (#33416) **Description:** * Updates opamp-go to v0.15.0 This change is breaking, in that an opamp server using v0.14.0 may be incompatible with the changes introduced in v0.15.0 (this is due to invalid UTF-8 sequences now being allowed in the agent's instance ID). As part of this update, the preferred format for IDs in the opamp extension's config has changed to UUID (any UUID is allowed, but specifically v7 is preferred). I've allowed ULIDs to still be specified, so older configurations should still work. For the supervisor, I've changed the ULID generated to be a UUID. This is a breaking change for the persistent state, but this component is in developmen status, and breaking changes are expected. **Testing:** Unit tests. Tested connecting the supervisor to a management server using v0.15.0 of OpAMP. **Documentation:** * Modified documentation to switch references to ULID to UUID --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <[email protected]> Co-authored-by: Yang Song <[email protected]> * [cmd/opampsupervisor]: Add config validation (#32845) **Description:** * Refactor config to remove some pointers (using a "default config" + override pattern lets us do this, which simplifies some code) * Validate the config after loading it, and after getting a new config from the opamp server **Link to tracking Issue:** Closes #32843 **Testing:** * Unit tests for config validation * [chore] update core dep (#33417) This brings in the rename of CreateSettings -> Settings and NewNopCreateSettings -> NewNopSettings --------- Signed-off-by: Alex Boten <[email protected]> * [chore][pkg/stanza] skip rotation test on windows (#33429) **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.--> Since other rotation related tests are skipped on Windows, I guess it makes sense to skip this one too. Related to https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/16331. Spotted failure: https://github.com/open-telemetry/opentelemetry-collector-contrib/actions/runs/9418728481/job/25946842048?pr=33428#step:6:848 (https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/33428) **Link to tracking Issue:** <Issue number if applicable> **Testing:** <Describe what testing was performed and which tests were added.> **Documentation:** <Describe the documentation added.> Signed-off-by: ChrsMark <[email protected]> * [cmd/opampsupervisor] remove executable check for collector binary (#33431) **Description:** <Describe what has changed.> * Remove the check for if an executable bit is set on the collector binary. Instead, we'll allow the supervisor to attempt to run it and fail then. **Link to tracking Issue:** Closes #33430 **Testing:** * Unit tests * [confmap/provider/secretsmanagerprovider] Add support for JSON secrets (#32861) **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.--> - Fixes `invalid memory address or nil pointer dereference` error when I included this component in `opentelemetry-lambda/collector` lambda layer. - Fixes #32143 AWS Secrets Manager - JSON Secret Support **Link to tracking Issue:** #32143 **Testing:** Added unit tests. Manually tested in AWS Lambda Layer with opentelemetry-lambda **Documentation:** Update changelog and secretsmanagerprovider README. --------- Co-authored-by: Antoine Toulme <[email protected]> Co-authored-by: Evan Bradley <[email protected]> * [chore][exporter/elasticsearch] Re-enable exporter test on Windows (#33434) **Link to tracking Issue:** #10178 #14759 Co-authored-by: Curtis Robert <[email protected]> * [chore] make gotidy lint (#33448) Before this PR, main was broken for a few groups: - receiver-3 - exporter-1 - exporter-3 - connector Signed-off-by: Juraci Paixão Kröhling <[email protected]> --------- Signed-off-by: Juraci Paixão Kröhling <[email protected]> * [pkg/winperfcounters] Add option to re-create PDH query on each scrape. (#32799) **Description:** This pull request adds a new option for `receiver/windowsperfcounters` to allow re-creating a given counter query on each scrape. This is useful to avoid some weird performance counter corruption bugs that can occur on some versions of Windows. The pull request does this by exposing a new setting (documented in receiver's README) `counterConfig.recreateQuery bool` and a new public `watcher` API in `pkg/winperfcounters` called `Reset()`. The PR also modifies the `receiver/activedirectoryds` tests to stub the `Reset()` API. **Link to tracking Issue:** #32798 **Testing:** - Unit tests for `watcher` - Unit tests for `windowsperfcounters_scraper` - Manual testing on our affected systems to validate that the scrape output is now valid **Documentation:** - Receiver documentation for new settings - User-facing changelog for the setting - API-facing changelog for the `watcher` API * [chore] Fix pinging and labelling on new issues (#33437) **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 current behavior of pinging code owners and adding labels to new issues is tied together. The existing logic was to only add a label and ping code owners if the person filing the issue was **not** a code owner. However, this can lead to issues lacking labels, and some code owners not being properly notified of issues. Recent example: https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33433 (There have been many examples of this, but I choose this one as I used it for my investigation.) This issue was filed by a code owner. The result was that no labels were added, and the other three code owners were not notified. I think it makes sense to at least add the label to the issue, and I don't see much harm in the extra noise for the person filing the issue to get a notification. This change is essentially the same as https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/30136, just for new issues. Co-authored-by: Evan Bradley <[email protected]> * [pkg/ottl] add `keep_matching_keys function` (#33337) **Description:** This PR adds a `keep_matching_keys` function. **Link to tracking Issue:** Resolves #32989 **Testing:** Added unit and end to end tests. Tested manually with the following config: ```yaml receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 processors: transform: error_mode: ignore trace_statements: - context: span statements: - keep_matching_keys(attributes, "http.*") exporters: debug: verbosity: detailed otlphttp: endpoint: ${env:DT_ENDPOINT} headers: Authorization: "Api-Token ${env:API_TOKEN}" service: pipelines: traces: receivers: [otlp] processors: [transform] exporters: [otlphttp, debug] ``` Used the `telemetrygen` CLI to send traces with attributes to verify the function was applied correctly: ``` telemetrygen traces --otlp-insecure --traces 10 --status-code Ok --span-duration 1s --telemetry-attributes http.foo=\"value1\" --telemetry-attributes http.bar=\"value2\" --telemetry-attributes foo=\"bar\" ``` **Documentation:** The documentation has been added to the function explanations in the readme --------- Signed-off-by: Florian Bacher <[email protected]> Co-authored-by: Evan Bradley <[email protected]> Co-authored-by: Tyler Helmuth <[email protected]> * [pkg/ottl] Support for append (#33017) **Description:** Added new ottl function `append(target, Optional[single_value], Optional[slice_value])` Append function appends one or more values to an existing array if the field already exists and it is an array. It should convert scalar values into an array if the field exists but is not an array Creates an array containing the provided values if the field doesn’t exist Implemented this with few assumptions up for a discussion - implemented this as a function modifying target rather than converter returning merged arrays - working with strings so far, resulting in `[]string` after concat - merging integers, boolean... not implemented, as I haven't found use for these use-cases, could be accomplished with retyping them later after append produces `[]string` **Link to tracking Issue:** [<Issue number if applicable>](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32141) **Testing:** Added unit tests with intended behavior Tested also with this config ```yaml receivers: filelog: include: [ system.log ] start_at: beginning exporters: debug: verbosity: detailed sampling_initial: 10000 sampling_thereafter: 10000 processors: transform: error_mode: ignore log_statements: - context: log statements: - append(attributes["empty_tags"], "my empty value") # non existing field should be created - set(attributes["tags"], "my funky value") # init with single value - append(attributes["tags"], "my file value") # append to scalar value - set(attributes["tags_copy"], attributes["tags"]) # make a copy - append(attributes["tags_copy"], "my third value") # append to slice - append(attributes["tags_copy"], values = ["my third value", "my last value"]) # append to slice service: pipelines: logs: receivers: [filelog] processors: [transform] exporters: - debug ``` Expecting this result ``` Attributes: -> log.file.name: Str(system.log) -> empty_tags: Slice(["my empty value"]) -> tags: Slice(["my funky value","my file value"]) -> tags_copy: Slice(["my funky value","my file value","my third value"]) ``` **Documentation:** updated README --------- Co-authored-by: Tyler Helmuth <[email protected]> Co-authored-by: Evan Bradley <[email protected]> * [processor/deltatocumulative]: drop samples of streams exceeding limit (#33286) **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 at limit, the `telemetry` component recorded `dps_dropped{reason="at-limit"}` and set the error to nil. this in turn let `Aggregate` call `CopyTo` on a zero-valued (effectively nil) `pmetric.NumberDataPoint`, leading to a panic due to nil-pointer deref. For this specific case, the metric is not tracked, given we are at limit so we cannot CopyTo anything, because it does not exist. Added signaling behavior to specifically drop those samples altogether. **Link to tracking Issue:** <Issue number if applicable> Fixes https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33285 **Testing:** added, `TestDrop`, `TestAggregate` **Documentation:** not needed * [chore] Fix windows tests (#33456) Fixes tests in https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/32799 * [pkg/stanza] add symlink related test for fileconsumer (#33428) **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.--> https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/32292 was closed due to inactivity. This PR resumes from there. **Link to tracking Issue:** <Issue number if applicable> **Testing:** <Describe what testing was performed and which tests were added.> **Documentation:** <Describe the documentation added.> Co-authored-by: Shaunak Kashyap <[email protected]> --------- Signed-off-by: ChrsMark <[email protected]> Co-authored-by: Shaunak Kashyap <[email protected]> * [extension/healthcheckv2] Add event aggregation logic (#32695) **Description:** This PR is the second in a series to decompose https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/30673 into more manageable pieces for review. **Aggregator** This PR introduces an aggregator data structure and event aggregation logic for status events. The extension implements the `StatusWatcher` optional interface, which the collector will call with a `component.StatusEvent` for each change in component status. These events will be aggregated by an aggregation function, and stored in the aggregator. The aggregator is a recursive data structure. At the top it contains the overall status of the collector. At the next level, it contains the statuses for each pipeline, and at the level below that, it contains the statuses for each component in a pipeline. Each node in the data structure is an aggregation the status events in the level below. The overall collector status is the aggregation of the pipeline statuses, and at the next level, the pipeline statuses are the aggregations of the component statuses. The data structure allows you to query the status of the collector overall, or for individual pipelines by name. There is also a pub/sub mechanism used for streaming aggregated statuses. **Aggregation Function** The purpose of the aggregator is to aggregate events so that the most relevant status event bubbles to the top. This allows us to get the status of the collector overall or a pipeline through a simple lookup. There is an aggregation function that determines the priority of events and how they should be aggregated. In many cases, the result will be an existing status event. In some cases a new event will be synthesized. In order to match the behavior existing healthcheck extension, lifecycle events (e.g. starting, stopping, etc) are prioritized over runtime events. Next, error statuses are prioritized with PermanentErrors as higher priority than RecoverableErrors, but this can vary based on user provided configuration. If PermanentErrors are ignored by configuration, but RecoverableErrors are included, then RecoverableErrors will take priority over PermanentErrors. The StatusWatcher interface receives immutable events of type `component.StatusEvent`. Since we sometimes need to synthesize new events during aggregation, an `Event` interface was introduced so that the aggregator can use `component.StatusEvent` instances or instances of events synthesized by the status package. It's worth mentioning that there is [existing status event aggregation logic](https://github.com/open-telemetry/opentelemetry-collector/blob/main/component/status.go#L101-L190) in collector core, but it did not meet the needs of this extension. It does not prioritize lifecycle events over error events, and it will always prioritize permanent errors over recoverable. By prioritizing lifecycle events over error events we can return a 503 when restarting a collector rather than a 500 when a collector in a final state, such as PermanentError. This is necessary to match the behavior of the existing extension. Since users have the option to include or ignore recoverable and permanent errors, we need the ability to prioritize them accordingly. We can discuss what the fate of the aggregation code in core should be. **Examples** Below are examples of overall collector and pipeline status that are based on the aggregator data structure. The rendering of the examples will come in a later PR. You can also look at the parent PR to see how all of this fits together. Note that the pipeline status example is a subtree of the overall collector status. Overall collector status: ```json { "start_time": "2024-01-18T17:27:12.570394-08:00", "healthy": true, "status": "StatusRecoverableError", "error": "rpc error: code = ResourceExhausted desc = resource exhausted", "status_time": "2024-01-18T17:27:32.572301-08:00", "components": { "extensions": { "healthy": true, "status": "StatusOK", "status_time": "2024-01-18T17:27:12.570428-08:00", "components": { "extension:healthcheckv2": { "healthy": true, "status": "StatusOK", "status_time": "2024-01-18T17:27:12.570428-08:00" } } }, "pipeline:metrics/grpc": { "healthy": true, "status": "StatusRecoverableError", "error": "rpc error: code = ResourceExhausted desc = resource exhausted", "status_time": "2024-01-18T17:27:32.572301-08:00", "components": { "exporter:otlp/staging": { "healthy": true, "status": "StatusRecoverableError", "error": "rpc error: code = ResourceExhausted desc = resource exhausted", "status_time": "2024-01-18T17:27:32.572301-08:00" }, "processor:batch": { "healthy": true, "status": "StatusOK", "status_time": "2024-01-18T17:27:12.571132-08:00" }, "receiver:otlp": { "healthy": true, "status": "StatusOK", "status_time": "2024-01-18T17:27:12.571576-08:00" } } }, "pipeline:traces/http": { "healthy": true, "status": "StatusOK", …
* [chore] [receiver/kubeletstats] move utilization metrics in standalone helper func (#33335) **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.--> `kubeletstats` receiver performs the CPU metrics addition in the [`addCPUMetrics`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.101.0/receiver/kubeletstatsreceiver/internal/kubelet/cpu.go#L13) helper function. This function calls respectively the [`addCPUUsageMetric`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.101.0/receiver/kubeletstatsreceiver/internal/kubelet/cpu.go#L21) and the [`addCPUTimeMetric`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.101.0/receiver/kubeletstatsreceiver/internal/kubelet/cpu.go#L37). However the [`addCPUUsageMetric`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.101.0/receiver/kubeletstatsreceiver/internal/kubelet/cpu.go#L21) adds not only the `*.usage` metric but some `*utilization` ones as well. This change moves the addition of the `*utilization` metrics to a standalone `addCPUUtilizationMetrics` helper function. **Link to tracking Issue:** <Issue number if applicable> - **Testing:** <Describe what testing was performed and which tests were added.> - **Documentation:** <Describe the documentation added.> - --------- Signed-off-by: ChrsMark <[email protected]> * fix(deps): update module google.golang.org/api to v0.183.0 (#33381) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google.golang.org/api](https://togithub.com/googleapis/google-api-go-client) | `v0.182.0` -> `v0.183.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.183.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fapi/v0.183.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fapi/v0.182.0/v0.183.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.182.0/v0.183.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>googleapis/google-api-go-client (google.golang.org/api)</summary> ### [`v0.183.0`](https://togithub.com/googleapis/google-api-go-client/releases/tag/v0.183.0) [Compare Source](https://togithub.com/googleapis/google-api-go-client/compare/v0.182.0...v0.183.0) ##### Features - **all:** Auto-regenerate discovery clients ([#​2611](https://togithub.com/googleapis/google-api-go-client/issues/2611)) ([1de148b](https://togithub.com/googleapis/google-api-go-client/commit/1de148b049cad72efb924df7f3435bcbca7d214f)) - **all:** Auto-regenerate discovery clients ([#​2616](https://togithub.com/googleapis/google-api-go-client/issues/2616)) ([5f21214](https://togithub.com/googleapis/google-api-go-client/commit/5f21214e2284f5162d89383f528326325091796c)) - **all:** Auto-regenerate discovery clients ([#​2617](https://togithub.com/googleapis/google-api-go-client/issues/2617)) ([08fdd71](https://togithub.com/googleapis/google-api-go-client/commit/08fdd71cae0bbfd16ed7e13a00c8bc7dd596ce94)) - **all:** Auto-regenerate discovery clients ([#​2619](https://togithub.com/googleapis/google-api-go-client/issues/2619)) ([c7f1614](https://togithub.com/googleapis/google-api-go-client/commit/c7f161413cf50b50db98ba483afc2f2344e0896f)) - **all:** Auto-regenerate discovery clients ([#​2622](https://togithub.com/googleapis/google-api-go-client/issues/2622)) ([0077748](https://togithub.com/googleapis/google-api-go-client/commit/007774894a48d24634ace7b9e09def4d61433f7f)) ##### Bug Fixes - Add another temporary dep on genproto ([#​2614](https://togithub.com/googleapis/google-api-go-client/issues/2614)) ([4f98211](https://togithub.com/googleapis/google-api-go-client/commit/4f9821115b5b14b2a32a4cdcbbb84bed018dac2c)), refs [#​2559](https://togithub.com/googleapis/google-api-go-client/issues/2559) [#​2613](https://togithub.com/googleapis/google-api-go-client/issues/2613) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zODguMSIsInVwZGF0ZWRJblZlciI6IjM3LjM4OC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <[email protected]> Co-authored-by: Yang Song <[email protected]> * [chore] run make gengithub (#33385) * [cmd/configschema] Remove `cmd/configschema` (#33384) Removes the deprecated `cmd/configschema`. The command is not used in our repository and is a source of dependency pain Closes https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/30187 * [chore] Remove use of `confighttp.ClientConfig.RoundTripper` (#33371) **Description:** * lokiexporter and sumologicexporter: Neither need to use this field for their tests, it can be replaced without loss of functionality with another config field. * oauth2clientextension: This should directly rely on the `http.Client` interface. * ecstaskobserver docs: I don't think there was ever a way to unmarshal this field, so there shouldn't be a doc for how to configure it. **Link to tracking Issue:** Soft required for https://github.com/open-telemetry/opentelemetry-collector/pull/10310 so we don't use deprecated APIs. * Adding Proxy support for Datadog Exporter (#33316) **Description:** Support the ProxyUrl parameter for the Datadog Exporter ptal @mx-psi @songy23 * [chore] update go to 1.21.11/1.22.4 (#33386) Signed-off-by: Alex Boten <[email protected]> Co-authored-by: Pablo Baeyens <[email protected]> * [receiver/gitproviderreceiver] add branch time, commit, and line metrics (#32812) **Description:** Adds the following branch based metrics. * git.repository.branch.time * git.repository.branch.commit.aheadby.count * git.repository.branch.commit.behindby.count * git.repository.branch.line.deletion.count * git.repository.branch.line.addition.count Additionally brings this receiver very close to the source version in the Liatrio Distro. Brings the testing up to par as well. After this pull request is merged, I'd like to move this component to alpha status so it can be built within the contrib binary and used by others. Once in alpha, I'd like to bring over the newest metric (repository.cve.count), bring over the GitLab scraper, and potentially propose a new component I developed to work in-tandem with this receiver, the GitHub App Authentication extension. **Link to tracking Issue:** #22028 **Testing:** Brings testing inline with source and include scrape testing. **Documentation:** Updated the documentation to reflect the additional metrics. --------- Co-authored-by: Curtis Robert <[email protected]> * [exporter/coralogix] feat: allow setting application name from custom resource attributes (#33218) **Description:** allow setting application name from cx.application.name and cx.subsystem.name attributes. To support simplified use case, such as: ```yaml receivers: filelog/nginx: include: - '/tmp/tmp.log' include_file_path: true include_file_name: false start_at: end resource: cx.subsystem.name: nginx filelog/access-log: include: - '/tmp/access.log' include_file_path: true include_file_name: false resource: cx.subsystem.name: access-log exporters: coralogix: domain: 'coralogix.com' private_key: "XXX" application_name: 'app_name' timeout: 30s service: pipelines: logs: receivers: [filelog/nginx, filelog/access-log] exporters: [coralogix] ``` **Link to tracking Issue:** <Issue number if applicable> https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33217 **Testing:** <Describe what testing was performed and which tests were added.> - unit tests - manually tested **Documentation:** <Describe the documentation added.> - updated docs --------- Co-authored-by: Pablo Baeyens <[email protected]> * fix(deps): update module github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common to v1.0.936 (#33358) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common](https://togithub.com/tencentcloud/tencentcloud-sdk-go) | `v1.0.931` -> `v1.0.936` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2ftencentcloud%2ftencentcloud-sdk-go%2ftencentcloud%2fcommon/v1.0.936?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2ftencentcloud%2ftencentcloud-sdk-go%2ftencentcloud%2fcommon/v1.0.936?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2ftencentcloud%2ftencentcloud-sdk-go%2ftencentcloud%2fcommon/v1.0.931/v1.0.936?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2ftencentcloud%2ftencentcloud-sdk-go%2ftencentcloud%2fcommon/v1.0.931/v1.0.936?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>tencentcloud/tencentcloud-sdk-go (github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common)</summary> ### [`v1.0.936`](https://togithub.com/tencentcloud/tencentcloud-sdk-go/blob/HEAD/CHANGELOG.md#Release-v10936) [Compare Source](https://togithub.com/tencentcloud/tencentcloud-sdk-go/compare/v1.0.935...v1.0.936) #### 物联网通信(iotcloud) 版本:2021-04-08 ##### 第 11 次发布 发布时间:2024-06-05 01:47:50 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [DescribeFirmware](https://cloud.tencent.com/document/api/634/73630) - 新增出参:UserDefined 修改数据结构: - [FirmwareInfo](https://cloud.tencent.com/document/api/634/71973#FirmwareInfo) - 新增成员:UserDefined #### 物联网通信(iotcloud) 版本:2018-06-14 #### 物联网开发平台(iotexplorer) 版本:2019-04-23 ##### 第 65 次发布 发布时间:2024-06-05 01:48:26 本次发布包含了以下内容: 改善已有的文档。 修改数据结构: - [FirmwareInfo](https://cloud.tencent.com/document/api/1081/34988#FirmwareInfo) - 新增成员:UserDefined #### 流计算 Oceanus(oceanus) 版本:2019-04-22 ##### 第 56 次发布 发布时间:2024-06-05 02:02:33 本次发布包含了以下内容: 改善已有的文档。 修改数据结构: - [Cluster](https://cloud.tencent.com/document/api/849/52010#Cluster) - 新增成员:ResourceType #### 音速达直播音乐版权引擎(yinsuda) 版本:2022-05-27 ##### 第 19 次发布 发布时间:2024-06-05 02:38:46 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [DescribeKTVMusicAccompanySegmentUrlVip](https://cloud.tencent.com/document/api/1592/102622) - 新增入参:RoomId 修改数据结构: - [LiveVipTradeInfo](https://cloud.tencent.com/document/api/1592/76191#LiveVipTradeInfo) - <font color="#dd0000">**修改成员**:</font>TradeSerialNo, AppName, UserId, RoomId, VipDays, Status, CreateTime - [LiveVipUserInfo](https://cloud.tencent.com/document/api/1592/76191#LiveVipUserInfo) - <font color="#dd0000">**修改成员**:</font>RoomId, LiveVipEndTime, LiveVipStatus - [UserInfo](https://cloud.tencent.com/document/api/1592/76191#UserInfo) - <font color="#dd0000">**修改成员**:</font>AppName, UserId, LiveVipUserInfo, UserType ### [`v1.0.935`](https://togithub.com/tencentcloud/tencentcloud-sdk-go/blob/HEAD/CHANGELOG.md#Release-v10935) [Compare Source](https://togithub.com/tencentcloud/tencentcloud-sdk-go/compare/v1.0.934...v1.0.935) #### T-Sec-DDoS防护(Anti-DDoS)(antiddos) 版本:2020-03-09 ##### 第 67 次发布 发布时间:2024-06-04 01:07:52 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [DescribeListBGPInstances](https://cloud.tencent.com/document/api/297/95346) - 新增入参:FilterZoneIdList 修改数据结构: - [BGPInstance](https://cloud.tencent.com/document/api/297/95396#BGPInstance) - 新增成员:ZoneId #### 云数据库 MySQL(cdb) 版本:2017-03-20 ##### 第 158 次发布 发布时间:2024-06-04 01:16:12 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [AdjustCdbProxyAddress](https://cloud.tencent.com/document/api/236/90589) - 新增入参:AutoLoadBalance, AccessMode - [CreateCdbProxyAddress](https://cloud.tencent.com/document/api/236/90586) - 新增入参:AutoLoadBalance, AccessMode - [DescribeProxySupportParam](https://cloud.tencent.com/document/api/236/90584) - 新增出参:SupportAutoLoadBalance, SupportAccessMode 修改数据结构: - [ProxyAddress](https://cloud.tencent.com/document/api/236/15878#ProxyAddress) - 新增成员:AccessMode, AutoLoadBalance - [ProxyInst](https://cloud.tencent.com/document/api/236/15878#ProxyInst) - 新增成员:InstNodeId, InstNodeRole #### 域名注册(domain) 版本:2018-08-08 ##### 第 38 次发布 发布时间:2024-06-04 01:35:42 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [ReservedPreDomains](https://cloud.tencent.com/document/api/242/103887) - 新增入参:IsAutoPay, IsBidAutoPay #### 腾讯电子签企业版(ess) 版本:2020-11-11 ##### 第 174 次发布 发布时间:2024-06-04 01:41:39 本次发布包含了以下内容: 改善已有的文档。 新增接口: - [CreateUserMobileChangeUrl](https://cloud.tencent.com/document/api/1323/106775) #### 微服务引擎(tse) 版本:2020-12-07 ##### 第 68 次发布 发布时间:2024-06-04 02:26:13 本次发布包含了以下内容: 改善已有的文档。 修改数据结构: - [KongUpstreamInfo](https://cloud.tencent.com/document/api/1364/54942#KongUpstreamInfo) - 新增成员:ScfIsBase64Encoded, ScfIsIntegratedResponse #### 微服务平台 TSF(tsf) 版本:2018-03-26 ##### 第 107 次发布 发布时间:2024-06-04 02:27:15 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [DeleteApplication](https://cloud.tencent.com/document/api/649/36093) - 新增入参:SyncDeleteImageRepository - [DescribeMicroservices](https://cloud.tencent.com/document/api/649/36084) - 新增入参:ConfigCenterInstanceId - [DescribeStatistics](https://cloud.tencent.com/document/api/649/70427) - 新增入参:ConfigCenterInstanceId 修改数据结构: - [ConfigRelease](https://cloud.tencent.com/document/api/649/36099#ConfigRelease) - 新增成员:DaulStatus - [TsfConfigCenter](https://cloud.tencent.com/document/api/649/36099#TsfConfigCenter) - 新增成员:CurrentVersion, TargetVersion #### 向量数据库(vdb) 版本:2023-06-16 ##### 第 1 次发布 发布时间:2024-06-03 15:48:04 本次发布包含了以下内容: 改善已有的文档。 新增接口: - [DescribeInstances](https://cloud.tencent.com/document/api/1709/106756) 新增数据结构: - [InstanceInfo](https://cloud.tencent.com/document/api/1709/106757#InstanceInfo) - [Network](https://cloud.tencent.com/document/api/1709/106757#Network) - [Tag](https://cloud.tencent.com/document/api/1709/106757#Tag) #### Web 应用防火墙(waf) 版本:2018-01-25 ##### 第 85 次发布 发布时间:2024-06-04 02:34:05 本次发布包含了以下内容: 改善已有的文档。 新增接口: - [ModifyApiSecEventChange](https://cloud.tencent.com/document/api/627/106776) 新增数据结构: - [ApiSecKey](https://cloud.tencent.com/document/api/627/53609#ApiSecKey) #### 数据开发治理平台 WeData(wedata) 版本:2021-08-20 ##### 第 91 次发布 发布时间:2024-06-04 02:35:39 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [UploadContent](https://cloud.tencent.com/document/api/1267/93282) - 新增入参:ProjectId ### [`v1.0.934`](https://togithub.com/tencentcloud/tencentcloud-sdk-go/blob/HEAD/CHANGELOG.md#Release-v10934) [Compare Source](https://togithub.com/tencentcloud/tencentcloud-sdk-go/compare/v1.0.933...v1.0.934) #### 消息队列 RocketMQ 版(trocket) 版本:2023-03-08 ##### 第 15 次发布 发布时间:2024-06-03 02:23:52 本次发布包含了以下内容: 改善已有的文档。 新增接口: - [DescribeFusionInstanceList](https://cloud.tencent.com/document/api/1493/106745) 新增数据结构: - [FusionInstanceItem](https://cloud.tencent.com/document/api/1493/96031#FusionInstanceItem) - [InstanceItemExtraInfo](https://cloud.tencent.com/document/api/1493/96031#InstanceItemExtraInfo) #### 实时音视频(trtc) 版本:2019-07-22 ##### 第 76 次发布 发布时间:2024-06-03 02:25:00 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [DescribeAITranscription](https://cloud.tencent.com/document/api/647/106493) - 新增入参:SdkAppId, SessionId - 新增出参:TaskId, SessionId - [StartAITranscription](https://cloud.tencent.com/document/api/647/106492) - 新增入参:SessionId 修改数据结构: - [RecognizeConfig](https://cloud.tencent.com/document/api/647/44055#RecognizeConfig) - 新增成员:Model ### [`v1.0.933`](https://togithub.com/tencentcloud/tencentcloud-sdk-go/blob/HEAD/CHANGELOG.md#Release-v10933) [Compare Source](https://togithub.com/tencentcloud/tencentcloud-sdk-go/compare/v1.0.932...v1.0.933) #### 商业智能分析 BI(bi) 版本:2022-01-05 ##### 第 12 次发布 发布时间:2024-05-31 01:10:46 本次发布包含了以下内容: 改善已有的文档。 修改数据结构: - [UserInfo](https://cloud.tencent.com/document/api/590/73726#UserInfo) - 新增成员:AppUserId, AppUserName - [UserRoleListDataUserRoleInfo](https://cloud.tencent.com/document/api/590/73726#UserRoleListDataUserRoleInfo) - 新增成员:AppOpenUserId #### 运维安全中心(堡垒机)(dasb) 版本:2019-10-18 ##### 第 27 次发布 发布时间:2024-05-31 01:30:02 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [BindDeviceResource](https://cloud.tencent.com/document/api/1025/74792) - 新增入参:DomainId - [ModifyDevice](https://cloud.tencent.com/document/api/1025/86951) - 新增入参:DomainId 修改数据结构: - [Department](https://cloud.tencent.com/document/api/1025/74416#Department) - <font color="#dd0000">**修改成员**:</font>Id, Name, Managers, ManagerUsers - [Device](https://cloud.tencent.com/document/api/1025/74416#Device) - 新增成员:DomainId, DomainName - [Group](https://cloud.tencent.com/document/api/1025/74416#Group) - <font color="#dd0000">**修改成员**:</font>Id, Name, Department, Count - [Resource](https://cloud.tencent.com/document/api/1025/74416#Resource) - 新增成员:DomainCount, UsedDomainCount #### 数据湖计算 DLC(dlc) 版本:2021-01-25 ##### 第 91 次发布 发布时间:2024-05-31 01:32:25 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [DescribeLakeFsInfo](https://cloud.tencent.com/document/api/1342/87873) - 新增出参:LakeFsInfos 新增数据结构: - [LakeFsInfo](https://cloud.tencent.com/document/api/1342/53778#LakeFsInfo) #### 流计算 Oceanus(oceanus) 版本:2019-04-22 ##### 第 55 次发布 发布时间:2024-05-31 01:58:53 本次发布包含了以下内容: 改善已有的文档。 新增数据结构: - [SubEks](https://cloud.tencent.com/document/api/849/52010#SubEks) 修改数据结构: - [Cluster](https://cloud.tencent.com/document/api/849/52010#Cluster) - 新增成员:Type, SubEks, AgentSerialId - [ClusterGroupSetItem](https://cloud.tencent.com/document/api/849/52010#ClusterGroupSetItem) - 新增成员:SubEks - <font color="#dd0000">**修改成员**:</font>RunningCu, PayMode #### 容器安全服务(tcss) 版本:2020-11-01 ##### 第 62 次发布 发布时间:2024-05-31 02:10:49 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [CreateAssetImageScanSetting](https://cloud.tencent.com/document/api/1285/65591) - 新增入参:ExcludeImages - [DescribeAssetImageScanSetting](https://cloud.tencent.com/document/api/1285/65487) - 新增出参:ExcludeImages - [DescribeImageRegistryTimingScanTask](https://cloud.tencent.com/document/api/1285/65472) - 新增出参:ExcludeImageAssetIds - [UpdateImageRegistryTimingScanTask](https://cloud.tencent.com/document/api/1285/65457) - 新增入参:ExcludeImageAssetIds #### Web 应用防火墙(waf) 版本:2018-01-25 ##### 第 84 次发布 发布时间:2024-05-31 02:29:01 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [AddCustomRule](https://cloud.tencent.com/document/api/627/53608) - 新增入参:JobType, JobDateTime, Source, Label, Status, PageId - <font color="#dd0000">**修改入参**:</font>ExpireTime - [AddCustomWhiteRule](https://cloud.tencent.com/document/api/627/90325) - 新增入参:JobType, JobDateTime - [AddSpartaProtection](https://cloud.tencent.com/document/api/627/72689) - 新增入参:ProbeStatus - [DeleteCustomRule](https://cloud.tencent.com/document/api/627/97444) - 新增入参:DomainRuleIdList - 新增出参:Success - [DescribeCustomRuleList](https://cloud.tencent.com/document/api/627/97443) - 新增入参:DomainList - [ModifyCustomRule](https://cloud.tencent.com/document/api/627/97442) - 新增入参:JobType, JobDateTime, Source, Status, PageId - 新增出参:Success - [ModifyCustomRuleStatus](https://cloud.tencent.com/document/api/627/53599) - 新增入参:DomainRuleIdList - [ModifyCustomWhiteRule](https://cloud.tencent.com/document/api/627/90323) - 新增入参:JobType, JobDateTime - [ModifySpartaProtection](https://cloud.tencent.com/document/api/627/94309) - 新增入参:ProbeStatus - [UpsertCCRule](https://cloud.tencent.com/document/api/627/97646) - 新增入参:CreateTime 新增数据结构: - [CronJob](https://cloud.tencent.com/document/api/627/53609#CronJob) - [DomainRuleId](https://cloud.tencent.com/document/api/627/53609#DomainRuleId) - [JobDateTime](https://cloud.tencent.com/document/api/627/53609#JobDateTime) - [MiniExtendPkg](https://cloud.tencent.com/document/api/627/53609#MiniExtendPkg) - [TimedJob](https://cloud.tencent.com/document/api/627/53609#TimedJob) 修改数据结构: - [BatchIpAccessControlItem](https://cloud.tencent.com/document/api/627/53609#BatchIpAccessControlItem) - 新增成员:CreateTime - [CCRuleItems](https://cloud.tencent.com/document/api/627/53609#CCRuleItems) - 新增成员:CreateTime - [CacheUrlItems](https://cloud.tencent.com/document/api/627/53609#CacheUrlItems) - 新增成员:ModifyTime, CreateTime - [DescribeAntiLeakageItem](https://cloud.tencent.com/document/api/627/53609#DescribeAntiLeakageItem) - 新增成员:ModifyTime - [DescribeCustomRulesRspRuleListItem](https://cloud.tencent.com/document/api/627/53609#DescribeCustomRulesRspRuleListItem) - 新增成员:JobType, JobDateTime, CronType, Label, PageId, Domain - [InstanceInfo](https://cloud.tencent.com/document/api/627/53609#InstanceInfo) - 新增成员:MiniExtendPkg, BillingItem - [IpAccessControlItem](https://cloud.tencent.com/document/api/627/53609#IpAccessControlItem) - 新增成员:CreateTime - [RuleList](https://cloud.tencent.com/document/api/627/53609#RuleList) - 新增成员:CreateTime - [UserDomainInfo](https://cloud.tencent.com/document/api/627/53609#UserDomainInfo) - 新增成员:AlbType, BotStatus, ApiStatus ### [`v1.0.932`](https://togithub.com/tencentcloud/tencentcloud-sdk-go/blob/HEAD/CHANGELOG.md#Release-v10932) [Compare Source](https://togithub.com/tencentcloud/tencentcloud-sdk-go/compare/v1.0.931...v1.0.932) #### 日志服务(cls) 版本:2020-10-16 ##### 第 93 次发布 发布时间:2024-05-30 01:22:05 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [DescribeLogContext](https://cloud.tencent.com/document/api/614/56448) - 新增入参:Query, From, To #### DNSPod(dnspod) 版本:2021-03-23 ##### 第 31 次发布 发布时间:2024-05-30 01:33:24 本次发布包含了以下内容: 改善已有的文档。 新增接口: - [ModifyDomainToGroup](https://cloud.tencent.com/document/api/1427/106668) #### 腾讯云可观测平台(monitor) 版本:2018-07-24 ##### 第 114 次发布 发布时间:2024-05-30 01:55:28 本次发布包含了以下内容: 改善已有的文档。 修改数据结构: - [AlarmPolicyRule](https://cloud.tencent.com/document/api/248/30354#AlarmPolicyRule) - 新增成员:IsLatenessMetric - [Metric](https://cloud.tencent.com/document/api/248/30354#Metric) - 新增成员:IsLatenessMetric - <font color="#dd0000">**修改成员**:</font>Operators, Periods #### 云数据库Redis(redis) 版本:2018-04-12 ##### 第 75 次发布 发布时间:2024-05-30 02:02:41 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [CloneInstances](https://cloud.tencent.com/document/api/239/89391) - 新增入参:CloneTime 修改数据结构: - [InstanceSet](https://cloud.tencent.com/document/api/239/20022#InstanceSet) - 新增成员:BackupMode #### 云开发 CloudBase(tcb) 版本:2018-06-08 ##### 第 102 次发布 发布时间:2024-05-30 02:08:52 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [DescribeWxGateways](https://cloud.tencent.com/document/api/876/94386) - 新增入参:GatewayId 修改数据结构: - [GatewayItem](https://cloud.tencent.com/document/api/876/34822#GatewayItem) - 新增成员:WxAppId, CanRenew, AutoRenewFlag, CanDowngrade, LongAccessId, AccessDomain - <font color="#dd0000">**修改成员**:</font>VersionNumLimit #### 边缘安全加速平台(teo) 版本:2022-09-01 ##### 第 81 次发布 发布时间:2024-05-29 19:42:22 本次发布包含了以下内容: 改善已有的文档。 修改数据结构: - [Rule](https://cloud.tencent.com/document/api/1552/80721#Rule) - <font color="#dd0000">**修改成员**:</font>Actions #### 边缘安全加速平台(teo) 版本:2022-01-06 #### T-Sec-安心平台(RP)(trp) 版本:2021-05-15 ##### 第 34 次发布 发布时间:2024-05-30 02:20:31 本次发布包含了以下内容: 改善已有的文档。 修改接口: - [CreateCodePack](https://cloud.tencent.com/document/api/1458/75028) - 新增入参:SceneCode - [CreateCustomPack](https://cloud.tencent.com/document/api/1458/81464) - 新增入参:SceneCode - [DescribeCodePacks](https://cloud.tencent.com/document/api/1458/75016) - 新增入参:SceneCode, Status 修改数据结构: - [CodePack](https://cloud.tencent.com/document/api/1458/75030#CodePack) - 新增成员:SceneCode, CodeRule, UsedAmount, SerialStart, SerialEnd - [Job](https://cloud.tencent.com/document/api/1458/75030#Job) - 新增成员:ErrorMessage - [PackSpec](https://cloud.tencent.com/document/api/1458/75030#PackSpec) - 新增成员:Unit, SceneCode - [ScanLog](https://cloud.tencent.com/document/api/1458/75030#ScanLog) - 新增成员:ProductLogo, Status, Verify - <font color="#dd0000">**修改成员**:</font>Unionid, First, BatchId, Type, MerchantName, ProductName - [TraceCode](https://cloud.tencent.com/document/api/1458/75030#TraceCode) - 新增成员:PackSpec, SceneCode, SerialCode - <font color="#dd0000">**修改成员**:</font>AgentId, Level </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInVwZGF0ZWRJblZlciI6IjM3LjM4OC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <[email protected]> Co-authored-by: Pablo Baeyens <[email protected]> * [chore][exporter/elasticsearch]Extend benchmarks for mapping mode (#33391) **Description:** Updates benchmarks to consider mapping mode. Mapping mode has a big impact on the benchmark runs since each mapping mode is implemented in a different way. This is a precursor to https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/33374 which aims to improve performance by optimizing allocations. **Link to tracking Issue:** https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32504 **Testing:** <Describe what testing was performed and which tests were added.> `cd integrationtest && go test -count=1 -bench=BenchmarkExporter -run=^$ -v ./...` <details> <summary> Benchmark results from my personal PC</summary> ``` $ go test -count=1 -bench=BenchmarkExporter -run=^$ -v ./... [11:43:00] goos: darwin goarch: arm64 pkg: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter/integrationtest BenchmarkExporter BenchmarkExporter/logs/none/small_batch BenchmarkExporter/logs/none/small_batch-10 19693 62644 ns/op 159633 events/s 59476 B/op 352 allocs/op BenchmarkExporter/logs/none/medium_batch BenchmarkExporter/logs/none/medium_batch-10 2174 549870 ns/op 181861 events/s 586538 B/op 3425 allocs/op BenchmarkExporter/logs/none/large_batch BenchmarkExporter/logs/none/large_batch-10 225 5291466 ns/op 188984 events/s 5856818 B/op 34148 allocs/op BenchmarkExporter/logs/none/xlarge_batch BenchmarkExporter/logs/none/xlarge_batch-10 22 51000769 ns/op 196075 events/s 58486725 B/op 341268 allocs/op BenchmarkExporter/logs/ecs/small_batch BenchmarkExporter/logs/ecs/small_batch-10 31297 38221 ns/op 261637 events/s 48742 B/op 161 allocs/op BenchmarkExporter/logs/ecs/medium_batch BenchmarkExporter/logs/ecs/medium_batch-10 3559 335623 ns/op 297953 events/s 479045 B/op 1520 allocs/op BenchmarkExporter/logs/ecs/large_batch BenchmarkExporter/logs/ecs/large_batch-10 343 3313594 ns/op 301787 events/s 4784951 B/op 15102 allocs/op BenchmarkExporter/logs/ecs/xlarge_batch BenchmarkExporter/logs/ecs/xlarge_batch-10 34 33257379 ns/op 300685 events/s 47837431 B/op 150861 allocs/op BenchmarkExporter/logs/raw/small_batch BenchmarkExporter/logs/raw/small_batch-10 22364 54047 ns/op 185025 events/s 58119 B/op 291 allocs/op BenchmarkExporter/logs/raw/medium_batch BenchmarkExporter/logs/raw/medium_batch-10 2452 484758 ns/op 206288 events/s 572996 B/op 2819 allocs/op BenchmarkExporter/logs/raw/large_batch BenchmarkExporter/logs/raw/large_batch-10 252 4782239 ns/op 209107 events/s 5722459 B/op 28098 allocs/op BenchmarkExporter/logs/raw/xlarge_batch BenchmarkExporter/logs/raw/xlarge_batch-10 25 46517563 ns/op 214973 events/s 57311327 B/op 281046 allocs/op BenchmarkExporter/traces/none/small_batch BenchmarkExporter/traces/none/small_batch-10 18934 64383 ns/op 155321 events/s 61103 B/op 392 allocs/op BenchmarkExporter/traces/none/medium_batch BenchmarkExporter/traces/none/medium_batch-10 2078 573554 ns/op 174352 events/s 602734 B/op 3826 allocs/op BenchmarkExporter/traces/none/large_batch BenchmarkExporter/traces/none/large_batch-10 204 5506740 ns/op 181596 events/s 6019500 B/op 38163 allocs/op BenchmarkExporter/traces/none/xlarge_batch BenchmarkExporter/traces/none/xlarge_batch-10 21 55099689 ns/op 181489 events/s 60130968 B/op 381435 allocs/op BenchmarkExporter/traces/ecs/small_batch BenchmarkExporter/traces/ecs/small_batch-10 18612 64431 ns/op 155204 events/s 61111 B/op 392 allocs/op BenchmarkExporter/traces/ecs/medium_batch BenchmarkExporter/traces/ecs/medium_batch-10 2086 579508 ns/op 172560 events/s 602838 B/op 3826 allocs/op BenchmarkExporter/traces/ecs/large_batch BenchmarkExporter/traces/ecs/large_batch-10 210 5637313 ns/op 177389 events/s 6019330 B/op 38168 allocs/op BenchmarkExporter/traces/ecs/xlarge_batch BenchmarkExporter/traces/ecs/xlarge_batch-10 20 53797696 ns/op 185882 events/s 60170108 B/op 381418 allocs/op BenchmarkExporter/traces/raw/small_batch BenchmarkExporter/traces/raw/small_batch-10 19999 64957 ns/op 153949 events/s 60193 B/op 372 allocs/op BenchmarkExporter/traces/raw/medium_batch BenchmarkExporter/traces/raw/medium_batch-10 2197 533394 ns/op 187479 events/s 592292 B/op 3625 allocs/op BenchmarkExporter/traces/raw/large_batch BenchmarkExporter/traces/raw/large_batch-10 223 5158606 ns/op 193851 events/s 5917039 B/op 36155 allocs/op BenchmarkExporter/traces/raw/xlarge_batch BenchmarkExporter/traces/raw/xlarge_batch-10 22 51159360 ns/op 195468 events/s 59215624 B/op 361363 allocs/op PASS ok github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter/integrationtest 93.126s ``` </details> **Documentation:** <Describe the documentation added.> N/A * [processor/geoip] Initial implementation (#33319) **Description:** <Describe what has changed.> This is the initial implementation of the GeoIP processor. Note that it will still be a NOP (No Operation) from the user's perspective, as no Geo data providers are implemented [nor can be configured yet](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/33268). However, this implementation aims to provide an overview of the processor's logic. The logic is the same for all signals (traces, metrics, and logs). For each signal, the processor follows these steps: 1. Locate an IP address attribute within the resource attributes. If not found, continue; if parsing the IP fails, return an error. By default, the IP address must be included within the `source.address` attribute key, see: https://github.com/open-telemetry/semantic-conventions/blob/v1.26.0/docs/general/attributes.md#source 2. Retrieve the geo-location metadata associated with the IP address using the available GeoProviders. At the moment, no additional check is done on the attributes returned by the providers. In a future PR, the processor will need to validate that all attributes follow the Geo semantic conventions. 3. Append the set of geo attributes to the resource attributes. The `processor/geoipprocessor/internal/provider/geoipprovider.go` file contains an initial interface proposal for the Geo providers. A mock implementation can be found in the geoip_processor_test.go file. **Link to tracking Issue:** https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32663 **Testing:** Unit tests for the signals process **Documentation:** Should we update the README with the available configuration once it becomes operational? --------- Co-authored-by: Tiffany Hrabusa <[email protected]> * [exporter/Logzioexporter] bug fix export log attributes (#33231) **Description:** Fix bug where log attributes were not correctly exported **Link to tracking Issue:** <Issue number if applicable> https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/11409 **Testing:** <Describe what testing was performed and which tests were added.> Updated unit tests **Documentation:** <Describe the documentation added.> No documentation added * [exporter/kafkaexporter] added an option to disable kerberos PA-FX-FAST negotiation (#33086) **Description:** Added the `disable_fast_negotiation` configuration option for Kafka Kerberos authentication. This option allows users to disable the PA-FX-FAST negotiation, which can cause issues when Active Directory is not configured to support it. This change ensures that Kafka Exporters can function correctly in such environments. **Link to tracking Issue:** [26345](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/26345) **Testing:** - Added unit tests to verify the behaviour of the `disable_fast_negotiation` option in the `KerberosConfig` struct. - Tests include scenarios where `disable_fast_negotiation` is set to both `true` and `false`, ensuring that the configuration is correctly applied. **Documentation:** - Updated README files which describe the new configuration option - Updated the changelog to reflect the addition of the `disable_fast_negotiation` configuration option. --------- Co-authored-by: Sean Marciniak <[email protected]> Co-authored-by: Curtis Robert <[email protected]> * [chore] make update-otel (#33396) Addresses GHSA-c74f-6mfw-mm4v --------- Signed-off-by: Pablo Baeyens <[email protected]> * [receiver/sqlserver] Add support for more database IO metrics (#32833) **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.--> This adds more metrics (disabled by default) from the existing `database_io` query. The values being scraped can be found [here](https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-io-virtual-file-stats-transact-sql?view=sql-server-ver16). **Link to tracking Issue:** <Issue number if applicable> Continued work on #29865 **Testing:** <Describe what testing was performed and which tests were added.> Tests added. Also confirmed all expected metrics were properly scraped manually. * [chore] remove use of deprecated component.UnmarshalConfig (#33404) **Description:** Remove use of `component.UnmarshalConfig` this change only affects test code. * [chore] Do not fail if JSON is not found in previous issue (#33395) **Description:** Avoid crashing when JSON section is not present in previous ISSUE **Link to tracking Issue:** #33388 **Testing:** ``` act -j get_issues -e <(echo '{"repository": {"owner": {"login": "your-github-username"}}}') -s GITHUB_TOKEN=<your-token> ``` * [exporter/elasticsearch] validate endpoints (#33350) **Description:** Check that Elasticsearch `endpoints` is a list of valid URLs during config validation. This ensures that syntactically invalid endpoints causes a fatal error during collector startup, rather than leading to a persistent runtime error. Previously, setting an endpoint without a scheme would lead to an error at runtime when attempting a bulk request to Elasticsearch: ``` ... 2024-06-04T10:30:23.244+0800 error elasticsearchexporter/elasticsearch_bulk.go:313 bulk indexer flush error {"kind": "exporter", "data_type": "traces", "name": "elasticsearch", "error": "failed to execute the request: unsupported protocol scheme \"\""} ... ``` Now the collector fails to start up: ``` $ make run cd ./cmd/otelcontribcol && GO111MODULE=on go run --race . --config ../../local/config.yaml Error: invalid configuration: exporters::elasticsearch: invalid endpoint "localhost": invalid scheme "", expected "http" or "https" 2024/06/04 12:23:50 collector server run finished with error: invalid configuration: exporters::elasticsearch: invalid endpoint "localhost": invalid scheme "", expected "http" or "https" exit status 1 make: *** [Makefile:255: run] Error 1 ``` **Link to tracking Issue:** N/A **Testing:** <Describe what testing was performed and which tests were added.> **Documentation:** N/A * [chore] remove use of component.UnmarshalConfig (#33407) Description: Remove use of component.UnmarshalConfig this change only affects test code. Follow up to #33404 --------- Co-authored-by: Andrzej Stencel <[email protected]> * [chore] Clarify that cmd/otelcontribcol and top-level go.mod are not the sources of the contrib distro (#33409) **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.--> Documents the purpose of `cmd/otelcontribcol` and `cmd/oteltestbedcol` in new READMEs and in comments on the builder manifests. Adds note to top-level `go.mod`. This is a common point of confusion and was recently confusing for users on the aftermath of CVE-2024-36129 Counterpart to open-telemetry/opentelemetry-collector/pull/10351 --------- Co-authored-by: Armin Ruech <[email protected]> * [chore] Add issues with waiting-for-code-owners label to the weekly report (#33330) **Description:** Added the list of issues with the `waiting-for-code-owner` to the weekly report **Link to tracking Issue:** #32490 **Testing:** Check the testing_actions.md file **Documentation:** I've added the docs/testing_actions.md file to describe how to test the new functionality --------- Co-authored-by: Pablo Baeyens <[email protected]> * [CI] make update-otel (#32038) **Description:** Seems like there were some bugs, which i wasn't very sure about. It ran the `multimod` cmd with the wrong directory (at least in my case). On top of that i had to remove the `--commit-hash` flag, because per definition it already gets the main branch, but you should have to insert a commit-hash. If not used at all it should just be the latest. Therefore `OTEL_VERSION` and `OTEL_STABLE_VERSION` could be removed or could later on be used to get the latest commit-hash (but has to be implemented). The core-versions in `otelcontribcol/builder-config.yaml` and `oteltestbedcol/builder-config.yaml` will be updated by using `sed`. But these additional lines will only replace sth like: `v0.97.1-0.20240327181407-1038b67c85a0` and update it to: `v0.98.0` So if someone needs any kind of specific version-hash, he still would have to change this manually. This definitely is not a perfect solution for this issue (it just works :sweat_smile: ) , so just tell me if there is something totally stupid in this code. **Link to tracking Issue:** - Resolves #21632 **Testing:** <Describe what testing was performed and which tests were added.> **Documentation:** <Describe the documentation added.> --------- Co-authored-by: Alex Boten <[email protected]> * [chore][docs] Fix name of the Windows Event Log Receiver (#33295) **Description:** <Describe what has changed.> Changing "Windows Log Event Receiver" to "Windows Event Log Receiver" as that is the official name. IBM docs is also linking out to this readme so we need consistency. https://www.ibm.com/docs/en/instana-observability/current?topic=opentelemetry-sending-data-instana-agent#enabling-tls-encryption-for-opentelemetry-ingestion * [chore][processor/probabilisticsampler] Fix typo (#33418) * [chore] Add sponsorship assignment requirement (#33299) As discussed in the collector SIG today, I'm proposing language where auto-assignment of a sponsor is only a given if the component is proposed by a member of the project. * [cmd/opampsupervisor,extension/opamp] Update opamp-go v0.15.0 (#33416) **Description:** * Updates opamp-go to v0.15.0 This change is breaking, in that an opamp server using v0.14.0 may be incompatible with the changes introduced in v0.15.0 (this is due to invalid UTF-8 sequences now being allowed in the agent's instance ID). As part of this update, the preferred format for IDs in the opamp extension's config has changed to UUID (any UUID is allowed, but specifically v7 is preferred). I've allowed ULIDs to still be specified, so older configurations should still work. For the supervisor, I've changed the ULID generated to be a UUID. This is a breaking change for the persistent state, but this component is in developmen status, and breaking changes are expected. **Testing:** Unit tests. Tested connecting the supervisor to a management server using v0.15.0 of OpAMP. **Documentation:** * Modified documentation to switch references to ULID to UUID --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <[email protected]> Co-authored-by: Yang Song <[email protected]> * [cmd/opampsupervisor]: Add config validation (#32845) **Description:** * Refactor config to remove some pointers (using a "default config" + override pattern lets us do this, which simplifies some code) * Validate the config after loading it, and after getting a new config from the opamp server **Link to tracking Issue:** Closes #32843 **Testing:** * Unit tests for config validation * [chore] update core dep (#33417) This brings in the rename of CreateSettings -> Settings and NewNopCreateSettings -> NewNopSettings --------- Signed-off-by: Alex Boten <[email protected]> * [chore][pkg/stanza] skip rotation test on windows (#33429) **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.--> Since other rotation related tests are skipped on Windows, I guess it makes sense to skip this one too. Related to https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/16331. Spotted failure: https://github.com/open-telemetry/opentelemetry-collector-contrib/actions/runs/9418728481/job/25946842048?pr=33428#step:6:848 (https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/33428) **Link to tracking Issue:** <Issue number if applicable> **Testing:** <Describe what testing was performed and which tests were added.> **Documentation:** <Describe the documentation added.> Signed-off-by: ChrsMark <[email protected]> * [cmd/opampsupervisor] remove executable check for collector binary (#33431) **Description:** <Describe what has changed.> * Remove the check for if an executable bit is set on the collector binary. Instead, we'll allow the supervisor to attempt to run it and fail then. **Link to tracking Issue:** Closes #33430 **Testing:** * Unit tests * [confmap/provider/secretsmanagerprovider] Add support for JSON secrets (#32861) **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.--> - Fixes `invalid memory address or nil pointer dereference` error when I included this component in `opentelemetry-lambda/collector` lambda layer. - Fixes #32143 AWS Secrets Manager - JSON Secret Support **Link to tracking Issue:** #32143 **Testing:** Added unit tests. Manually tested in AWS Lambda Layer with opentelemetry-lambda **Documentation:** Update changelog and secretsmanagerprovider README. --------- Co-authored-by: Antoine Toulme <[email protected]> Co-authored-by: Evan Bradley <[email protected]> * [chore][exporter/elasticsearch] Re-enable exporter test on Windows (#33434) **Link to tracking Issue:** #10178 #14759 Co-authored-by: Curtis Robert <[email protected]> * [chore] make gotidy lint (#33448) Before this PR, main was broken for a few groups: - receiver-3 - exporter-1 - exporter-3 - connector Signed-off-by: Juraci Paixão Kröhling <[email protected]> --------- Signed-off-by: Juraci Paixão Kröhling <[email protected]> * [pkg/winperfcounters] Add option to re-create PDH query on each scrape. (#32799) **Description:** This pull request adds a new option for `receiver/windowsperfcounters` to allow re-creating a given counter query on each scrape. This is useful to avoid some weird performance counter corruption bugs that can occur on some versions of Windows. The pull request does this by exposing a new setting (documented in receiver's README) `counterConfig.recreateQuery bool` and a new public `watcher` API in `pkg/winperfcounters` called `Reset()`. The PR also modifies the `receiver/activedirectoryds` tests to stub the `Reset()` API. **Link to tracking Issue:** #32798 **Testing:** - Unit tests for `watcher` - Unit tests for `windowsperfcounters_scraper` - Manual testing on our affected systems to validate that the scrape output is now valid **Documentation:** - Receiver documentation for new settings - User-facing changelog for the setting - API-facing changelog for the `watcher` API * [chore] Fix pinging and labelling on new issues (#33437) **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 current behavior of pinging code owners and adding labels to new issues is tied together. The existing logic was to only add a label and ping code owners if the person filing the issue was **not** a code owner. However, this can lead to issues lacking labels, and some code owners not being properly notified of issues. Recent example: https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33433 (There have been many examples of this, but I choose this one as I used it for my investigation.) This issue was filed by a code owner. The result was that no labels were added, and the other three code owners were not notified. I think it makes sense to at least add the label to the issue, and I don't see much harm in the extra noise for the person filing the issue to get a notification. This change is essentially the same as https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/30136, just for new issues. Co-authored-by: Evan Bradley <[email protected]> * [pkg/ottl] add `keep_matching_keys function` (#33337) **Description:** This PR adds a `keep_matching_keys` function. **Link to tracking Issue:** Resolves #32989 **Testing:** Added unit and end to end tests. Tested manually with the following config: ```yaml receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 processors: transform: error_mode: ignore trace_statements: - context: span statements: - keep_matching_keys(attributes, "http.*") exporters: debug: verbosity: detailed otlphttp: endpoint: ${env:DT_ENDPOINT} headers: Authorization: "Api-Token ${env:API_TOKEN}" service: pipelines: traces: receivers: [otlp] processors: [transform] exporters: [otlphttp, debug] ``` Used the `telemetrygen` CLI to send traces with attributes to verify the function was applied correctly: ``` telemetrygen traces --otlp-insecure --traces 10 --status-code Ok --span-duration 1s --telemetry-attributes http.foo=\"value1\" --telemetry-attributes http.bar=\"value2\" --telemetry-attributes foo=\"bar\" ``` **Documentation:** The documentation has been added to the function explanations in the readme --------- Signed-off-by: Florian Bacher <[email protected]> Co-authored-by: Evan Bradley <[email protected]> Co-authored-by: Tyler Helmuth <[email protected]> * [pkg/ottl] Support for append (#33017) **Description:** Added new ottl function `append(target, Optional[single_value], Optional[slice_value])` Append function appends one or more values to an existing array if the field already exists and it is an array. It should convert scalar values into an array if the field exists but is not an array Creates an array containing the provided values if the field doesn’t exist Implemented this with few assumptions up for a discussion - implemented this as a function modifying target rather than converter returning merged arrays - working with strings so far, resulting in `[]string` after concat - merging integers, boolean... not implemented, as I haven't found use for these use-cases, could be accomplished with retyping them later after append produces `[]string` **Link to tracking Issue:** [<Issue number if applicable>](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32141) **Testing:** Added unit tests with intended behavior Tested also with this config ```yaml receivers: filelog: include: [ system.log ] start_at: beginning exporters: debug: verbosity: detailed sampling_initial: 10000 sampling_thereafter: 10000 processors: transform: error_mode: ignore log_statements: - context: log statements: - append(attributes["empty_tags"], "my empty value") # non existing field should be created - set(attributes["tags"], "my funky value") # init with single value - append(attributes["tags"], "my file value") # append to scalar value - set(attributes["tags_copy"], attributes["tags"]) # make a copy - append(attributes["tags_copy"], "my third value") # append to slice - append(attributes["tags_copy"], values = ["my third value", "my last value"]) # append to slice service: pipelines: logs: receivers: [filelog] processors: [transform] exporters: - debug ``` Expecting this result ``` Attributes: -> log.file.name: Str(system.log) -> empty_tags: Slice(["my empty value"]) -> tags: Slice(["my funky value","my file value"]) -> tags_copy: Slice(["my funky value","my file value","my third value"]) ``` **Documentation:** updated README --------- Co-authored-by: Tyler Helmuth <[email protected]> Co-authored-by: Evan Bradley <[email protected]> * [processor/deltatocumulative]: drop samples of streams exceeding limit (#33286) **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 at limit, the `telemetry` component recorded `dps_dropped{reason="at-limit"}` and set the error to nil. this in turn let `Aggregate` call `CopyTo` on a zero-valued (effectively nil) `pmetric.NumberDataPoint`, leading to a panic due to nil-pointer deref. For this specific case, the metric is not tracked, given we are at limit so we cannot CopyTo anything, because it does not exist. Added signaling behavior to specifically drop those samples altogether. **Link to tracking Issue:** <Issue number if applicable> Fixes https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33285 **Testing:** added, `TestDrop`, `TestAggregate` **Documentation:** not needed * [chore] Fix windows tests (#33456) Fixes tests in https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/32799 * [pkg/stanza] add symlink related test for fileconsumer (#33428) **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.--> https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/32292 was closed due to inactivity. This PR resumes from there. **Link to tracking Issue:** <Issue number if applicable> **Testing:** <Describe what testing was performed and which tests were added.> **Documentation:** <Describe the documentation added.> Co-authored-by: Shaunak Kashyap <[email protected]> --------- Signed-off-by: ChrsMark <[email protected]> Co-authored-by: Shaunak Kashyap <[email protected]> * [extension/healthcheckv2] Add event aggregation logic (#32695) **Description:** This PR is the second in a series to decompose https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/30673 into more manageable pieces for review. **Aggregator** This PR introduces an aggregator data structure and event aggregation logic for status events. The extension implements the `StatusWatcher` optional interface, which the collector will call with a `component.StatusEvent` for each change in component status. These events will be aggregated by an aggregation function, and stored in the aggregator. The aggregator is a recursive data structure. At the top it contains the overall status of the collector. At the next level, it contains the statuses for each pipeline, and at the level below that, it contains the statuses for each component in a pipeline. Each node in the data structure is an aggregation the status events in the level below. The overall collector status is the aggregation of the pipeline statuses, and at the next level, the pipeline statuses are the aggregations of the component statuses. The data structure allows you to query the status of the collector overall, or for individual pipelines by name. There is also a pub/sub mechanism used for streaming aggregated statuses. **Aggregation Function** The purpose of the aggregator is to aggregate events so that the most relevant status event bubbles to the top. This allows us to get the status of the collector overall or a pipeline through a simple lookup. There is an aggregation function that determines the priority of events and how they should be aggregated. In many cases, the result will be an existing status event. In some cases a new event will be synthesized. In order to match the behavior existing healthcheck extension, lifecycle events (e.g. starting, stopping, etc) are prioritized over runtime events. Next, error statuses are prioritized with PermanentErrors as higher priority than RecoverableErrors, but this can vary based on user provided configuration. If PermanentErrors are ignored by configuration, but RecoverableErrors are included, then RecoverableErrors will take priority over PermanentErrors. The StatusWatcher interface receives immutable events of type `component.StatusEvent`. Since we sometimes need to synthesize new events during aggregation, an `Event` interface was introduced so that the aggregator can use `component.StatusEvent` instances or instances of events synthesized by the status package. It's worth mentioning that there is [existing status event aggregation logic](https://github.com/open-telemetry/opentelemetry-collector/blob/main/component/status.go#L101-L190) in collector core, but it did not meet the needs of this extension. It does not prioritize lifecycle events over error events, and it will always prioritize permanent errors over recoverable. By prioritizing lifecycle events over error events we can return a 503 when restarting a collector rather than a 500 when a collector in a final state, such as PermanentError. This is necessary to match the behavior of the existing extension. Since users have the option to include or ignore recoverable and permanent errors, we need the ability to prioritize them accordingly. We can discuss what the fate of the aggregation code in core should be. **Examples** Below are examples of overall collector and pipeline status that are based on the aggregator data structure. The rendering of the examples will come in a later PR. You can also look at the parent PR to see how all of this fits together. Note that the pipeline status example is a subtree of the overall collector status. Overall collector status: ```json { "start_time": "2024-01-18T17:27:12.570394-08:00", "healthy": true, "status": "StatusRecoverableError", "error": "rpc error: code = ResourceExhausted desc = resource exhausted", "status_time": "2024-01-18T17:27:32.572301-08:00", "components": { "extensions": { "healthy": true, "status": "StatusOK", "status_time": "2024-01-18T17:27:12.570428-08:00", "components": { "extension:healthcheckv2": { "healthy": true, "status": "StatusOK", "status_time": "2024-01-18T17:27:12.570428-08:00" } } }, "pipeline:metrics/grpc": { "healthy": true, "status": "StatusRecoverableError", "error": "rpc error: code = ResourceExhausted desc = resource exhausted", "status_time": "2024-01-18T17:27:32.572301-08:00", "components": { "exporter:otlp/staging": { "healthy": true, "status": "StatusRecoverableError", "error": "rpc error: code = ResourceExhausted desc = resource exhausted", "status_time": "2024-01-18T17:27:32.572301-08:00" }, "processor:batch": { "healthy": true, "status": "StatusOK", "status_time": "2024-01-18T17:27:12.571132-08:00" }, "receiver:otlp": { "healthy": true, "status": "StatusOK", "status_time": "2024-01-18T17:27:12.571576-08:00" } } }, "pipeline:traces/http": { "healthy": true, "status": "StatusOK", "status_time": "2024-01-18T17:27:12.571625-08:00", "components": { "exporter:otlphttp/staging": { "healthy": true, "status": "StatusOK", "status_time": "2024-01-18T17:27:12.571615-08:00" }, "processor:batch": { "healthy": true, "status": "StatusOK", "status_time": "2024-01-18T17:27:12.571621-08:00" }, "receiver:otlp": { "healthy": true, "status": "StatusOK", "status_time": "2024-01-18T17:27:12.571625-08:00" } } } } } ``` Status for pipeline `traces/http`: ```json { "start_time": "2024-01-18T17:27:12.570394-08:00", "healthy": true, "status": "StatusOK", "status_time": "2024-01-18T17:27:12.571625-08:00", "components": { "exporter:otlphttp/staging": { "healthy": true, "status": "StatusOK", "status_time": "2024-01-18T17:27:12.571615-08:00" }, "processor:batch": { "healthy": true, "status": "StatusOK", "status_time": "2024-01-18T17:27:12.571621-08:00" }, "receiver:otlp": { "healthy": true, "status": "StatusOK", "status_time": "2024-01-18T17:27:12.571625-08:00" } } } ``` **Link to tracking Issue:** #26661 **Testing:** Units / manual **Documentation:** Comments, etc --------- Co-authored-by: Evan Bradley <[email protected]> * [chore] bump dep to address cve (#33460) Signed-off-by: Alex Boten <[email protected]> * [pkg/ottl] Add debug logging (#33274) **Description:** Adds debug logging to `StatementSequence.Execute` to allow printing the state of the `TransformContext` after each statement. Example logs: ``` 2024-05-28T16:19:29.198-0600 debug [email protected]/parser.go:265 initial TransformContext {"kind": "processor", "name": "transform", "pipeline": "logs", "tCtx": {"resource": {"attributes": {}, "dropped_attribute_count": 0}, "instrumentation_scope": {"attributes": {}, "dropped_attribute_count": 0, "name": "", "version": ""}, "log_record": {"attributes": {"log.file.name": "test.log"}, "body": "test", "dropped_attribute_count": 0, "flags": 0, "observed_time_unix_nano": "2024-05-28 22:19:29.098833 +0000 UTC", "severity_number": 0, "severity_text": "", "span_id": "", "time_unix_nano": "1970-01-01 00:00:00 +0000 UTC", "trace_id": ""}, "cache": {}}} 2024-05-28T16:19:29.199-0600 debug [email protected]/parser.go:268 after transformation {"kind": "processor", "name": "transform", "pipeline": "logs", "statement": "set(attributes[\"test\"], \"pass\")", "tCtx": {"resource": {"attributes": {}, "dropped_attribute_count": 0}, "instrumentation_scope": {"attributes": {}, "dropped_attribute_count": 0, "name": "", "version": ""}, "log_record": {"attributes": {"log.file.name": "test.log", "test": "pass"}, "body": "test", "dropped_attribute_coun…
Pinging code owners for receiver/github: @adrielp @andrzej-stencel @crobert-1. See Adding Labels via Comments if you do not have permissions to add labels yourself. |
The purpose and use-cases of the new component
The
GitHub MetricsGit Provider receiver (gitproviderreceiver) is a pull based receiver to scrape metrics from GitHub leveraging the GraphQL API. Metrics like, pr mean time, branch age, number of branches, number of repos, workflow deployments, etc, are able to provide data for engineering effectiveness within organizations, aligning with DORAExample configuration for the component
Telemetry data types supported
Metrics
Is this a vendor-specific component?
Sponsor (optional)
No response
Additional context
Will be contributing this, and proposing other receivers shortly, as OS contributions from Liatrio, INC. We are GitHub partners, but we're not contributing this as representatives of the vendor.
We already have a working receiver with many of metrics ready to go. Ready to get PR's rolling for this component (broken into multiple small PR's per the contributing documentation).
Happy to also to work through being part of the sponsorship moving forward if it'll help the project and move along the contribution.
The text was updated successfully, but these errors were encountered: