From 4110c2c99aa2df23cca4a4a103a59d95e39bb40a Mon Sep 17 00:00:00 2001 From: Philipp Lengauer <100447901+plengauer@users.noreply.github.com> Date: Sat, 15 Jun 2024 20:13:43 +0200 Subject: [PATCH 01/34] Add opentelemetry for shell scripts to the registry (#4669) Co-authored-by: Fabrizio Ferri-Benedetti Co-authored-by: Phillip Carter Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> --- data/registry/otel-shell.yml | 20 ++++++++++++++++++++ static/refcache.json | 8 ++++++++ 2 files changed, 28 insertions(+) create mode 100644 data/registry/otel-shell.yml diff --git a/data/registry/otel-shell.yml b/data/registry/otel-shell.yml new file mode 100644 index 000000000000..af96a3a00621 --- /dev/null +++ b/data/registry/otel-shell.yml @@ -0,0 +1,20 @@ +# cSpell:ignore Philipp Lengauer +title: OpenTelemetry for shell scripts and GitHub actions +registryType: core +language: shell +tags: + - shell + - bash + - instrumentation + - github +license: Apache 2.0 +description: + An unofficial implementation of OpenTelemetry (traces, metrics and logs) for + shell scripts (sh, dash, bash, ...) and for GitHub Actions. +authors: + - name: Philipp Lengauer + email: p.lengauer@gmail.com + url: https://github.com/plengauer +urls: + repo: https://github.com/plengauer/opentelemetry-bash +createdAt: 2024-06-12 diff --git a/static/refcache.json b/static/refcache.json index fcfc3e993607..adccafcb5b4b 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -4515,6 +4515,14 @@ "StatusCode": 200, "LastSeen": "2024-01-30T16:15:37.215985-05:00" }, + "https://github.com/plengauer": { + "StatusCode": 200, + "LastSeen": "2024-06-15T18:13:07.061124169Z" + }, + "https://github.com/plengauer/opentelemetry-bash": { + "StatusCode": 200, + "LastSeen": "2024-06-15T18:13:06.745253301Z" + }, "https://github.com/ppatierno": { "StatusCode": 200, "LastSeen": "2024-01-18T20:04:54.873629-05:00" From 517673058396122e304121fb783996422b8c55a2 Mon Sep 17 00:00:00 2001 From: Flavio Castelli Date: Sat, 15 Jun 2024 20:19:21 +0200 Subject: [PATCH 02/34] Add Kubewarden to integrations.yaml (#4676) Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Phillip Carter --- data/ecosystem/integrations.yaml | 7 ++++++- static/refcache.json | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/data/ecosystem/integrations.yaml b/data/ecosystem/integrations.yaml index b555e688c61c..224ae2b5e00a 100644 --- a/data/ecosystem/integrations.yaml +++ b/data/ecosystem/integrations.yaml @@ -1,4 +1,4 @@ -# cSpell:ignore containerd buildx Quarkus Cerbos flagd flipt KEDA Kyverno Dapr rustup GORM Otterize Dubbo Microcks Kuma +# cSpell:ignore containerd buildx Quarkus Cerbos flagd flipt KEDA Kyverno Dapr rustup GORM Otterize Dubbo Microcks Kuma Kubewarden - name: containerd url: https://containerd.io/ docsUrl: https://github.com/containerd/containerd/blob/main/docs/tracing.md @@ -238,3 +238,8 @@ docsUrl: https://istio.io/latest/docs/tasks/observability/distributed-tracing/opentelemetry/ components: [Go] oss: true +- name: Kubewarden + url: https://kubewarden.io/ + docsUrl: https://docs.kubewarden.io/howtos/telemetry/opentelemetry-qs + components: [Rust, Go] + oss: true diff --git a/static/refcache.json b/static/refcache.json index adccafcb5b4b..bebb77cf1af4 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -1283,6 +1283,10 @@ "StatusCode": 206, "LastSeen": "2024-04-30T15:56:23.493141+02:00" }, + "https://docs.kubewarden.io/howtos/telemetry/opentelemetry-qs": { + "StatusCode": 206, + "LastSeen": "2024-06-14T13:15:13.45959329Z" + }, "https://docs.lightstep.com/docs/about-sending-data": { "StatusCode": 206, "LastSeen": "2024-05-13T07:15:59.231698318Z" @@ -5391,6 +5395,10 @@ "StatusCode": 206, "LastSeen": "2024-04-25T00:01:10.120654-04:00" }, + "https://kubewarden.io/": { + "StatusCode": 206, + "LastSeen": "2024-06-14T13:15:10.829761422Z" + }, "https://kuma.io/": { "StatusCode": 206, "LastSeen": "2024-04-30T15:56:19.177281+02:00" From ebd92bb9df01d69b664a8fefef665f9ddfebe6fc Mon Sep 17 00:00:00 2001 From: Adriana Villela <50256412+avillela@users.noreply.github.com> Date: Sat, 15 Jun 2024 14:34:44 -0400 Subject: [PATCH 03/34] Add new blog post for Humans of OTel recap (#4661) Co-authored-by: Severin Neumann Co-authored-by: Phillip Carter --- .../en/blog/2024/humans-of-otel-eu-2024.md | 514 ++++++++++++++++++ static/refcache.json | 16 + 2 files changed, 530 insertions(+) create mode 100644 content/en/blog/2024/humans-of-otel-eu-2024.md diff --git a/content/en/blog/2024/humans-of-otel-eu-2024.md b/content/en/blog/2024/humans-of-otel-eu-2024.md new file mode 100644 index 000000000000..1acb1c05f6d9 --- /dev/null +++ b/content/en/blog/2024/humans-of-otel-eu-2024.md @@ -0,0 +1,514 @@ +--- +title: The Humans OpenTelemetry - KubeCon EU 2024 +linkTitle: Humans of OTel EU 2024 +date: 2024-06-15 +author: >- + [Adriana Villela](https://github.com/avillela) (ServiceNow), +issue: 4660 +sig: End User SIG +# prettier-ignore +cSpell:ignore: adnan blanco bsfMECwmsm0 centralizations dyrmishi fintech jiekun mclean observability odegaard rahić reopelle sheeran skyscanner stackdriver tracetest vijay youtube +--- + +We're back with our second edition of +[Humans of OpenTelemetry](/blog/2023/humans-of-otel/), this time from KubeCon EU +in Paris. Once again, [Reese Lee](https://github.com/reese-lee) and I +interviewed OpenTelemetry contributors and end users, and learned how they got +involved with OTel: + +- [Iris Dyrmishi (Miro)](https://www.linkedin.com/in/iris-dyrmishi-b15a9a164/) +- [Severin Neumann (Cisco)](https://github.com/svrnm) +- [Kayla Reopelle (New Relic)](https://github.com/kaylareopelle) +- [Morgan McLean (Splunk)](https://github.com/mtwo) +- [Henrik Rexed (Dynatrace)](https://github.com/henrikrexed) +- [Vijay Samuel (eBay)](https://github.com/ccaraman) +- [Daniel Gomez Blanco (Skyscanner)](https://github.com/danielgblanco) +- [Doug Odegaard (ServiceNow)](https://github.com/dodegaard) +- [Adnan Rahić (Tracetest)](https://github.com/adnanrahic) +- [Rynn Mancuso (Honeycomb)](https://github.com/musingvirtual) + +Also, special thanks to: + +- [Reese Lee](https://github.com/reese-lee), my co-interviewer +- [Henrik Rexed](https://github.com/henrikrexed) for providing the audio and + video recording equipment, and doing the initial edits of the raw footage +- [Zhu Jiekun](https://github.com/jiekun) for assisting with his own camera + +You can watch the full recording here: + +{{}} + +
Thanks to everyone who has contributed to OpenTelemetry to date, and we +look forward to your continued contributions in 2024 and beyond! 🎉 + +## Transcript + +If reading is more your thing, check out the transcript of our conversations +below. + +### 1- Meet the Humans of OTel + +**IRIS DYRMISHI:** Well, I'm Iris Dyrmishi. I'm a senior observability engineer +at Miro and my life, my professional life is all about observability. I build an +observability platform that provides the tools for engineering teams at Miro to +monitor, to observe and get the best of their applications. + +**SEVERIN NEUMANN:** My name is Severin Neumann. I'm working at Cisco at the +open source program office and I'm a member of the OpenTelemetry governance +committee and I'm one of the co-maintainers of the OpenTelemetry documentation. + +**KAYLA REOPELLE:** My name is Kayla Reopelle. I work for New Relic and I am +contributing to the OpenTelemetry Ruby project. + +**MORGAN MCLEAN:** My name is Morgan McLean,I'm a director of product management +at Splunk.I've been with OpenTelemetry since day one. I'm one of the co-founders +of the project. I'm on the governance committee. Wow. What do I work on within +OTel?A bit of everything. I mean early on it was literally everything. Myself +and Ted and various others were doing many, many jobs. More recently I was +involved in the release of traces, metrics 1.0. Logs 1.0 last year. Right now +I'm working on profiling as well as OpenTelemetry's expansion into mainframe +computing. + +**HENRIK REXED:** My name is Henrik Rexed. I am a cloud native advocate at +Dynatrace and I'm passionate about observability, performance, and I'm trying to +help the community by providing content on getting started on any solutions out +there. + +**VIJAY SAMUEL:** My name is Vijay Samuel and I help do architecture for the +observability platform at eBay. + +**DANIEL GOMEZ BLANCO:** I'm Daniel Gomez Blanco. I'm a principal engineer at +Skyscanner and also member of the OpenTelemetry governance committee. + +**DOUG ODEGAARD:** My name is Doug Odegaard. I'm a senior solutions architect +with ServiceNow Cloud Observability, which is also formerly Lightstep. I'm also +a previous customer of using OpenTelemetry for several years prior to that. + +**ADNAN RAHIĆ:** Hey, I am Adnan. I work at Tracetest as a developer advocate +which is...you can guess better than me what that is. Pretty much do a bunch of +everything regarding OpenTelemetry. I'm one of the contributors for the +documentation, for the blog, and the demo. + +**RYNN MANCUSO:** My name is Rynn Mancuso. I work for Honeycomb.io and I am one +of the maintainers of the End User SIG. + +### 2- What does observability mean to you? + +**IRIS DYRMISHI:** What does observability mean to me? observability to me is +the biggest passion of my life and also my professional career. It is one of +those areas that you are not very interested when you start your career because +you don't know anything about it. It's not taught in school, it's not preached +by the tech communities a lot, but then you discover it and say, "Wow, this is +amazing!" We're actually making a change and we're helping the teams make the +best of their product. So yeah, that's all. + +**SEVERIN NEUMANN:** I think observability is a big game changer, right? So it's +evolution from what we have done, especially APM, over the last few years. So I +worked for a very long time at AppDynamics and we sold APM agents to customers +and we gave them a lot of the things that observability is promising today as +well. But the big change I see with observability that it's coming down, let's +say to everybody, right? So this is making the things that we did there +available for everybody. And even more, we're moving away from this... Hey, +let's add a post compilation agent into your application to like, yeah, let's +make native observability. Let's make this a thing that developers, that +operation teams are using across all the organizations. + +**KAYLA REOPELLE:** So to me observability means having peace of mind. It means +having something that you can rely on in order to see what happened and what +went wrong. I think observability is also a way to feel more technically +connected to your customers and your users, so that you can see the ways that +they're interacting with your software instead of just the ways that you might +interact with it. + +**MORGAN MCLEAN:** I mean, observability to me transcends just the computing +industry. It's the ability to peer into something and understand how it works, +what it's doing right now, and thus if it breaks, how to fix it more quickly. +Certainly when we think about telemetry in this industry, what observability +classically has meant is visibility to backend infrastructure and applications +kind of excitingly, I think it's expanding right now, right? With OpenTelemetry +we're pushing into client applications, we're pushing into mainframes, as I +mentioned earlier. And so it's really visibility into any systems that impact +your business, any technical system observability. + +**HENRIK REXED:** Usually when people mention of observability they say it's a +replacement of the old name monitoring. But in fact for me it's more than +monitoring, because monitoring is like, you just look at something and +observability is like having enough information to understand a given situation. +So if you just look at metrics then, okay, you have a guess that something is +going on, but you don't understand. So having the options to get more +information like logs, events, exceptions, traces, compiling, then at the end +combine all those dimensions together, then you say, okay, I got it, this is my +problem and I can resolve it. + +**VIJAY SAMUEL:** What does observability mean to me? I belong to what is called +the site engineering organization inside of eBay, and our goal is to make sure +that we can observe everything that's going on in the site and ensure that we +have high availability. So basically, observability means knowing if the site is +running fine or not, because that's why I'm there. + +**DANIEL GOMEZ BLANCO:** What does observability mean to me? It's a way for us +to understand what's happening within our systems, because we run quite a +complex system, so we need to understand what goes on inside of them so we can +deliver a good experience for our end users at the end of the day. + +**DOUG ODEGAARD:** So observability is, to me, I've been a full stack developer +for years, and so as we observe...actually I ended up on an incident response +team doing tracking of incidents, but also trying to figure out what was wrong. +And it pointed out to me how much we need this, how hard it was to look at so +many different screens and so forth. + +**ADNAN RAHIĆ:** So observability is, to me, I've been a full stack developer +for years, and so as we observe...actually I ended up on an incident response +team doing tracking of incidents, but also trying to figure out what was wrong. +And it pointed out to me how much we need this, how hard it was to look at so +many different screens and so forth.observability for me is the way to actually +see what's happening in your system. It's the pinnacle of not being up the whole +night trying to figure out what went wrong. And with OpenTelemetry and with the +rise of tracing the last couple of years, it has hit an all time high with +regards to the possibilities that we have right now. So I'm just really, really +happy to be part of the project. I'm also really happy that it's growing at that +pace, that it's growing right now, and I can't see how that's going to evolve +within the next couple of years. + +**RYNN MANCUSO:** For me, observability is about being able to ask deeper +questions of our systems, being able to demand, I think more than just alerting +on things that are emergencies, things we've seen before, but actually being +able to go out into the unknown and understand how complex systems are +performing. + +### 3- What does OpenTelemetry mean to you? + +**IRIS DYRMISHI:** OpenTelemetry is the tool that is making observability great +again. I would say that observability is seeing the surge, now that +OpenTelemetry is becoming so popular, it's allowing centralization of telemetry +signals, it's allowing semantic conventions, and it's generally helping +observability teams and engineering teams take more attention to the +observability and building it and making it better. + +**SEVERIN NEUMANN:** What does OpenTelemetry mean to me? I think it's the +vehicle for observability. It's enabling that. And I joined OpenTelemetry +community a few years back because I was curious about this idea to bring +observability to everybody. And I think we are doing a really good job. And what +it also means to me now is that it's an amazing community. Right? So we're at +KubeCon here, and I meet so many people I just know from those conversations, +and now I can talk to them in person. And we talk a lot about OpenTelemetry, but +we also talk a lot about other things than OpenTelemetry. We talk about +observability, of course, about what we think about is going to happen in a few +years and all those other things, and that's what OpenTelemetry means to me. + +**KAYLA REOPELLE:** So OpenTelemetry to me seems like it's a community effort to +take the best of what's already been out there for instrumentation and collect +it in one group so that everyone can benefit from it. I think that we've learned +so much as different agent engineers, but there's also so much to learn from +users of the products themselves. And OpenTelemetry does a great job of bringing +both people who are, you know, experts in observability, and experts in +languages to make something that's really great and meaningful for everyone. + +**MORGAN MCLEAN:** I mean, OpenTelemetry is my baby. Put so much effort into +creating this project. What does it mean to me? I mean, there's the boring +answer, which is it extracts signals: metrics, traces, logs, profiles, +everything else from your infrastructure, from your services, from your clients, +makes those observable, processable on the backend. But I think to a lot of us +who've been in this community so long, and a lot of us like yourself and Henrik +here and others who participate in the community so much, I mean, OTel is also +just a really nice open source community to participate in. It's a thing I just +enjoy working on. I know that's abstract and kind of like a sort of squishy +thing to say, but I don't know. OTel has a lot of meaning to me in many +different ways. All very positive. + +**HENRIK REXED:** OpenTelemetry for me, means the future. Because at the end, by +having an open standard, we have the luxury to have a common standard for common +format, for all the solution of the market and having that common format for all +the industry and all the vendors and all the solutions, it will just open use +cases. I think testing used to rely on, I don't know, feedback from users. And +now with observability data, we could be so much efficient in the way we're +testing, we could be so much efficient in replacing marketing tools, business +analytics tools. I think it's the future. And one thing that also a lot of +people talk about, AI everywhere, machine learning, blah, blah, blah, but I +think it's the same thing as a Tesla. I mean, Tesla, when you drive your car, it +takes decisions based on the sensors that it measures. And if you don't have +those sensors and those measurements, then you cannot have a smart... you can +have the smartest systems, but without the data, you cannot take the right +decisions. I think it's an enabler also for the future implementations of modern +applications. + +**VIJAY SAMUEL:** OpenTelemetry is the standard for observability going forward, +and it's very important because as we have gone through the journey of +observability over the past few years, we have had to hunt for open standards in +Prometheus and few others. Now, at least with ingestion and collection, it's a +single standard for everyone to adopt. And I think that's pretty powerful for +the long run. + +**DANIEL GOMEZ BLANCO:** What does OpenTelemetry mean to me? That, I think is +bringing people together, bringing everyone together under one single language +and the ones that way of thinking about telemetry. I think human languages are +difficult enough for us to understand each other. And I think, you know, +OpenTelemetry is bringing the technology together and one single way of like, +thinking about telemetry, thinking about how we observe our systems. + +**DOUG ODEGAARD:** To me, OpenTelemetry is bringing the ability to have product +teams, infrastructure teams, helping their jobs make it easier and also just +improve the customer experience and just make it overall a better experience to +do our jobs. + +**ADNAN RAHIĆ:** OpenTelemetry is the, I'm going to say, the future of +observability. We've seen so many companies, many vendors move to an +OpenTelemetry-first mindset, and the way that you can use OpenTelemetry to +generate them, to actually gather all telemetry signals with one set of +libraries, with one tool. It's just the way it was supposed to be. You're not +locked into one tool, one vendor, one cloud provider anymore. You can do +basically whatever you want, and you can use both the metrics, logs, and traces +for basically anything you want to do. Really happy to see it. + +**RYNN MANCUSO:** OpenTelemetry is an instrumentation protocol that helps us ask +more detailed questions about observability because it collects multiple signals +from many flexible types of systems. Folks monitor everything from the control +plane in Kubernetes all the way up to physical on-prem systems. It's a really +flexible language and it's beautiful community of humans that came together over +the pandemic to build something really special. + +### 4- How did you get involved with OpenTelemetry? + +**IRIS DYRMISHI:** I was working in a very fast-pacing observability team, and +we were maintaining a lot of tools and we really did not have conventions there, +we did not have centralizations and we really were not flexible when it came to +backends and vendor agnostic in general. So we discovered this amazing tool +called OpenTelemetry. We said okay, let's give it a try. It worked great for us. +And here I am today, one year later, more than one year later, and let's say +pushing the migration to OpenTelemetry in my second project. + +**SEVERIN NEUMANN:** How did I get involved into OpenTelemetry? So yeah, I +mentioned that... so I got curious a few years ago. So I was... I was at +AppDynamics working as a so-called domain architect, and I was an expert for +Node.js, Python and a lot of those other languages. And there was always this +conversation around like, hey, there's this thing now called OpenTelemetry and +should we not integrate this into our product? And I was like, okay, I want to +learn more. Then I was like, what is a good way to learn something new about an +open source technology? Yeah, get involved into that. So I was involved in +JavaScript at some point, and then at some point I realized like, yeah, but if I +really want to get a good view into OpenTelemetry, doing documentation is a good +way into that. And that's how I ended up being a maintainer for the +documentation. + +**KAYLA REOPELLE:** I got involved in OpenTelemetry last spring when New Relic +asked me to take a look at what the current status was of the OpenTelemetry Ruby +project. I also work as an engineer on the New Relic Ruby agent team, and that +gave me an opportunity to start to contribute to the project. And I noticed that +a lot of the signals for Ruby weren't yet stable. So a lot of my work so far has +been going into trying to bring logs and metrics to stability in Ruby. + +**MORGAN MCLEAN:** I was working at Google on Google's observability products +like tracing, profiling, debugging, that sort of thing. And one of the +challenges we had in tracing was getting data from people's applications. It's +really, really hard. You need integrations of hundreds of thousands of pieces of +software. No one team, no one company is going to maintain that. It's just +infeasible. And so we want to do something open source. There were other open +source standards. There was one that had started, I think, roughly around the +same time we were doing this, called OpenTracing. We started OpenCensus. + +At some point, especially amongst the more social media savvy members, the team, +which I am not one of, there was some contention between those projects about +where people who maintain databases and language runtime things should actually +spend their integration efforts, and it was limiting the success of both +projects. So I was leading OpenCensus. Ted and Dan and others were leading +OpenTracing. And in late 2018, early 2019, we finally sort of brought things to +a head and decided to merge those into what is now called OpenTelemetry. So +that's sort of, you know, I've been involved since then, I've been...now I work +at Splunk. Different company, but still on the same types of things. But that's +how my involvement started, and it's just grown and grown and snowballed from +there. + +**HENRIK REXED:** When I started the adventure in observability, of course, I +joined Dynatrace, and Dynatrace has their vendor agent, the OneAgent, and I saw +this movement of OpenTelemetry, and coming from the performance background, I +looked at it and I said, "Whoa, an open standard." "That sounds quite exciting" +because I had a performance, a gig for a customer, where I implemented like a +collecting logs and processing it and putting machine learning. And I told +myself at that time, it would be so wonderful to have one common standard. So +then instead of doing a custom implementation, I could have something for +everyone. And when I looked at the, just the definition of the project and the +things behind the project, I was so excited. I said, oh, gosh, I want to be +involved in the project. And that's where I started to build content to help the +community get started. + +I used to be a developer, but I'm a bad developer for sure. So that's why I'm +trying to help the project in other ways, in all the directions. And yeah, my +goal is increase the adoption of the open standards, making sure that it's been +adopted everywhere, so then we can move forward by implementing even more +exciting implementations. + +**VIJAY SAMUEL:** I started a few years ago for two reasons. One, we were +looking to introduce tracing inside the company, and at that time, OpenTracing +and OpenCensus was converging into OpenTelemetry. We started evaluating +OpenTelemetry for that. And given that we were moving into OpenTelemetry for +tracing, I also went through the journey of migrating our metrics collection +into OpenTelemetry. That's basically how I got involved. + +**DANIEL GOMEZ BLANCO:** How did I get involved in OpenTelemetry? I got involved +through my work at Skyscanner, as an end user. I was driving adoption and open +standards for telemetry. During COVID there was a need for simplification and +how we approach infrastructure, how we approach, how we collect, how we process, +and how we export telemetry data, and also basically... to basically lead the +adoption of open standards and their simplification effort. So as an +observability lead, I got more involved in the community aspect of +OpenTelemetry, decided to interact with all their end users and meeting people +that want to solve the same problems and want to find a solution that works for +everyone. + +**DOUG ODEGAARD:** So, OpenTelemetry, I actually, for several years, in my +previous position, I was hired to actually develop observability software. I was +writing my own thing, we were doing a lot of alert management and various +things. It was so much work and I thought, this has got to be easier. Plus I +wanted to make sure that it could be future, future proof, dare I use that term? +But also extensible. + +And when I discovered OpenTelemetry, I was just like, oh, thank you. Because +it's something that the company could carry forward. And also we didn't have to +worry about storing the data as much. And so it's really provided a really +excellent platform so that we can focus on the task at hand versus how to do the +job. So how I got involved in the project was actually first as a customer. It +was about three, close to four years ago, kind of the infancy of OpenTelemetry. +And I would go online, I would look at the documentation, or I would be in the +code a lot, but I wanted to learn more. So I would go to a SIG call and there +would be someone from Google and Microsoft and other companies, and then there +was this guy from this small fintech in the US. And at first it was a little +awkward, but they were so excited to have me in the call because I was an end +user. And so it really was, it was a wonderful experience to begin that way, to +realize that I could contribute to this rather than simply be a consumer of it. +So it was great. And then I transitioned my career into working for a vendor, +and we implement these systems now for customers like myself that I was years +ago. So it's kind of a pay it forward, give back type of thing. + +**ADNAN RAHIĆ:** How did we get involved into the OpenTelemetry project? We +started contributing more to the blog with you guys started contributing a bit +to the docs as well. And yeah, it's just been a whole-hearted effort in the team +to always kind of dedicate a few, a few minutes of each day to check out the +OpenTelemetry project, find a way to contribute. + +**RYNN MANCUSO:** I got involved in the OpenTelemetry project...honestly, I was +working at one observability company in marketing, and they didn't see the +point. They didn't want me to get involved. And I really believed in open +source. I'd worked in Mozilla and Wikimedia and really believed that, like, this +was the way forward from a strategic perspective. So the second I could switch +to a company that did let me get involved, that's what I did. And now I'm at +Honeycomb. And I'm glad to say within the first three months, I made project +member and started working with the End User Working Group and worked to grow it +into a SIG, into all the programs that it has today, together with others. + +### 5- What's your favorite telemetry signal? + +**IRIS DYRMISHI:** Tracing is my favorite signal. + +**SEVERIN NEUMANN:** My favorite signal now is profiling, because I think this +is really closing a big gap that was missing in observability, right? So I +mentioned before, right, I come from the APM space, and now for me, APM, +observability, it's very hard to make, like, a difference here. But one thing +that when I talk with people using APM products right now is they're like, hey, +where's code level visibility with OpenTelemetry, right? My commercial agent is +giving me that line of code that is breaking something. And this is what we get +with profiling. And that's why I'm really, really excited about it. + +**KAYLA REOPELLE:** To decide a favorite signal is kind of difficult for me. I +really love the power of traces. I think that traces can tell stories in ways +that are very meaningful. But on the same, like, on the other hand, I've been so +immersed in logs and trying to allow logs to have more connections to spans and +traces, I definitely have a soft spot for logs as well. + +**MORGAN MCLEAN:** I mean, I'm partial to distributed traces because that's +where this project got its start. And I think early on, that's where a lot of +the value was. No one else was really doing standardized distributed trace +collection right? There were some open source examples of it attached to, like, +Zipkin and Jaeger. But I think the reason OpenTelemetry got so much traction so +quickly is that it was providing that. + +I'm also partial to logs, which we launched last year, just because that's one +where, like, I've been involved in a lot of parts of OTel... But that's one +where like, I was involved in a lot of the core specification early on in +driving that. And so it was really exciting to see that ship. Also, logs are +just a thing that throughout my career before working on any of this, I just get +frustrated with, because they're never standardized, slow to process, they're +expensive. OTel going to bring a lot of changes there for the better for +everyone who uses logs. + +And finally, I guess profiles, because I work on that now. When I was at Google +many years ago, I launched what I think was the world's first distributed +continuous profiling product, at least publicly available one, which was Google +cloud profiling, Stackdriver profiling, they still support it, I still think +it's free, it's very powerful. But profiling has always been a bit of a niche +thing. Like, I know, like at Splunk and other companies, we support it, but it's +not as well known as metrics, and traces, and logs. I think with OTel, starting +later this year, we're gonna launch like full support for profiles. That's +really gonna change. Like, we had customers at Google who would spend an hour of +our profiler and save like 20, 30% of their aggregate compute because they found +some really poorly optimized code really quickly. For more people to have that +ability and speed things up and for developers actually to get insight into how +things work, that's super exciting. Like, the tech has been there a long time +and OTel bringing this mainstream is huge. + +**HENRIK REXED:** When people ask me, who is your favorite kid? Usually I say, I +don't have a favorite kid, you know. All my kids are wonderful. They all have, I +don't know, a great thing, you know, out of it. So I think I love traces because +sometimes it helps you to understand where it slowed down. I love metrics +because as a performance engineer, I used to use metrics a lot. And I love logs +because logs at the end, there's no sampling. So if you just do analytics on +logs, wow, you are so much precise. + +So I don't think I have a favorite signal. I'll just say that depending on what +I need and pick and choose, there's clearly one signal that will help me more. +There's one thing that I'm very eager and waiting since Valencia is continuous +profiling, because I love profiling and I think traces is great, but if there is +a problem somewhere, profiling would be so much helpful. So I think, yeah, I +don't answer your questions, but I say, yeah, I love all the signals provided by +OpenTelemetry. + +**VIJAY SAMUEL:** I am thoroughly biased towards metrics. I feel metrics are the +most powerful signal. As long as you are thinking through your instrumentation +and making sure that you have the right granularity cardinality being sent in, +to the platform, you can do powerful, powerful things with regards to anomaly +detection, machine learning and many other things. So I love metrics. + +**DANIEL GOMEZ BLANCO:** I mean, I have to say traces, because they give you the +context. Traces give you the backbone correlation for all the other signals, +right? But I do think that the current design of the API design of metrics is so +powerful that I'm like falling in love again with metrics because of that way +that we decouple instrumentation and measurement from aggregation of metrics is +so powerful and so much richness to basically give us a way to describe our +systems, that I'm falling back again in love with metrics. + +**DOUG ODEGAARD:** My favorite signal, I have to say, I'm partial to traces +because I've been doing software development for so long that that was the first +thing that really turned me on to it was the ability to see that, especially +because I know what it's like, like to debug. But it's also, I also know what +it's like in an incident to have to focus in very quickly. So yes, traces are my +favorite, but I do also like to send that trace ID and span ID into the logs +now. It's kind of becoming my next favorite. + +**ADNAN RAHIĆ:** My favorite signal is traces. I'm going to say traces, +definitely. My favorite singer is Ed Sheeran. + +**RYNN MANCUSO:** What is my favorite signal? I mean, I work for Honeycomb, so I +am constitutionally obliged to say traces are my favorite signal. + +## Join us! + +If you have a story to share about how you use OpenTelemetry at your +organization, we’d love to hear from you! Ways to share: + +- Join the + [#otel-sig-end-user channel](https://cloud-native.slack.com/archives/C01RT3MSWGZ) + on the + [CNCF Community Slack](https://communityinviter.com/apps/cloud-native/cncf) +- Join our [OTel in Practice](/community/end-user/otel-in-practice/) sessions +- Share your stories on the [OpenTelemetry blog](/docs/contributing/blog/) +- Contact us on the + [CNCF Community Slack](https://communityinviter.com/apps/cloud-native/cncf) + for any other types of sessions you'd like to see! + +Be sure to follow OpenTelemetry on +[Mastodon](https://fosstodon.org/@opentelemetry) and +[LinkedIn](https://www.linkedin.com/company/opentelemetry/), and share your +stories using the **#OpenTelemetry** hashtag! + +And don't forget to subscribe to our +[YouTube channel](https://youtube.com/@otel-official) for more great +OpenTelemetry content! diff --git a/static/refcache.json b/static/refcache.json index bebb77cf1af4..00fe5bbff253 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -2603,6 +2603,10 @@ "StatusCode": 200, "LastSeen": "2024-01-25T10:54:57.162378745Z" }, + "https://github.com/dodegaard": { + "StatusCode": 200, + "LastSeen": "2024-06-11T16:23:01.189039-04:00" + }, "https://github.com/dominicfraser": { "StatusCode": 200, "LastSeen": "2024-02-26T10:53:39.237712+01:00" @@ -2823,6 +2827,10 @@ "StatusCode": 200, "LastSeen": "2024-01-18T19:12:13.077443-05:00" }, + "https://github.com/jiekun": { + "StatusCode": 200, + "LastSeen": "2024-06-11T16:23:07.614161-04:00" + }, "https://github.com/jjatria/mojolicious-plugin-opentelemetry": { "StatusCode": 200, "LastSeen": "2024-01-30T16:16:07.775541-05:00" @@ -2871,6 +2879,10 @@ "StatusCode": 200, "LastSeen": "2024-01-18T19:12:01.969688-05:00" }, + "https://github.com/kaylareopelle": { + "StatusCode": 200, + "LastSeen": "2024-06-11T16:22:58.076066-04:00" + }, "https://github.com/kdhamric": { "StatusCode": 200, "LastSeen": "2024-01-30T06:01:35.269251-05:00" @@ -9783,6 +9795,10 @@ "StatusCode": 200, "LastSeen": "2024-04-15T11:38:45.271323+02:00" }, + "https://www.youtube.com/embed/bsfMECwmsm0": { + "StatusCode": 200, + "LastSeen": "2024-06-11T15:07:48.452896-04:00" + }, "https://www.youtube.com/embed/coPrhP_7lVU": { "StatusCode": 200, "LastSeen": "2024-01-30T16:15:42.688406-05:00" From e7cbabb5fdf17b7e7355ec6723f69631d61400b3 Mon Sep 17 00:00:00 2001 From: Yoshi Yamaguchi Date: Mon, 17 Jun 2024 16:49:15 +0900 Subject: [PATCH 04/34] [ja] nit: change default_lang_commit (#4691) --- content/ja/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/_index.md b/content/ja/_index.md index 52f04bb63359..7033167eec42 100644 --- a/content/ja/_index.md +++ b/content/ja/_index.md @@ -4,7 +4,7 @@ description: >- 効果的な観測を可能にする、高品質でユビキタスかつポータブルなテレメトリー developer_note: blocks/coverコラム(以下で使用)は、ファイル名に "background" を含む画像ファイルを背景画像として使用します。 show_banner: true -default_lang_commit: c2cd5b14 +default_lang_commit: e89a198 ---
From 6c56804fcc72d315b4fe7f9a24e5d50faa93b053 Mon Sep 17 00:00:00 2001 From: jack-berg <34418638+jack-berg@users.noreply.github.com> Date: Mon, 17 Jun 2024 18:02:14 -0500 Subject: [PATCH 05/34] Fix find/replace typo in java config docs (#4698) Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> --- content/en/docs/languages/java/configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/languages/java/configuration.md b/content/en/docs/languages/java/configuration.md index ebdce4905c51..1452390d2573 100644 --- a/content/en/docs/languages/java/configuration.md +++ b/content/en/docs/languages/java/configuration.md @@ -197,7 +197,7 @@ exporters. | `otel.exporter.otlp.protocol` | The transport protocol to use on OTLP trace, metric, and log requests. Options include `grpc` and `http/protobuf`. | `grpc` [^2] | | `otel.exporter.otlp.{signal}.protocol` | The transport protocol to use on OTLP {signal} requests. Options include `grpc` and `http/protobuf`. | `grpc` [^2] | | `otel.exporter.otlp.metrics.temporality.preference` | The preferred output aggregation temporality. Options include `DELTA`, `LOWMEMORY`, and `CUMULATIVE`. If `CUMULATIVE`, all instruments will have cumulative temporality. If `DELTA`, counter (sync and async) and histograms will be delta, up down counters (sync and async) will be cumulative. If `LOWMEMORY`, sync counter and histograms will be delta, async counter and up down counters (sync and async) will be cumulative. | `CUMULATIVE` | -| `otel.exporter.otlp.metrics.default.histogram.aggregation` | The preferred default histogram aggregation. Options include `BASE2.EXPONENTIAL.BUCKET.HISTOGRAM` and `EXPLICIT.BUCKET.HISTOGRAM`. | `EXPLICIT.BUCKET.HISTOGRAM` | +| `otel.exporter.otlp.metrics.default.histogram.aggregation` | The preferred default histogram aggregation. Options include `BASE2_EXPONENTIAL_BUCKET_HISTOGRAM` and `EXPLICIT_BUCKET_HISTOGRAM`. | `EXPLICIT_BUCKET_HISTOGRAM` | | `otel.experimental.exporter.otlp.retry.enabled` | If `true`, enable [experimental retry support](#otlp-exporter-retry). | `false` | [^2]: OpenTelemetry Java agent 2.x uses `http/protobuf` by default. From 11670ffd209a59c1c1df7604674d4826c9f512ce Mon Sep 17 00:00:00 2001 From: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Date: Tue, 18 Jun 2024 11:52:50 +0200 Subject: [PATCH 06/34] Auto-update registry versions (bb849a60ad5b7ba18fc2f0bc30356056f4905e0f) (#4701) --- data/registry/exporter-dotnet-geneva.yml | 2 +- data/registry/exporter-dotnet-onecollector.yml | 2 +- data/registry/instrumentation-dotnet-aspnetcore.yml | 2 +- data/registry/instrumentation-dotnet-grpcnetclient.yml | 2 +- data/registry/instrumentation-dotnet-http.yml | 2 +- data/registry/instrumentation-dotnet-sqlclient.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/data/registry/exporter-dotnet-geneva.yml b/data/registry/exporter-dotnet-geneva.yml index f5c3c6d2fab8..965616a2e946 100644 --- a/data/registry/exporter-dotnet-geneva.yml +++ b/data/registry/exporter-dotnet-geneva.yml @@ -17,4 +17,4 @@ createdAt: 2022-11-07 package: registry: nuget name: OpenTelemetry.Exporter.Geneva - version: 1.9.0-rc.1 + version: 1.9.0-rc.2 diff --git a/data/registry/exporter-dotnet-onecollector.yml b/data/registry/exporter-dotnet-onecollector.yml index 35e87e5be775..ab1b9d6e1325 100644 --- a/data/registry/exporter-dotnet-onecollector.yml +++ b/data/registry/exporter-dotnet-onecollector.yml @@ -18,4 +18,4 @@ createdAt: 2023-03-03 package: registry: nuget name: OpenTelemetry.Exporter.OneCollector - version: 1.9.0-rc.1 + version: 1.9.0 diff --git a/data/registry/instrumentation-dotnet-aspnetcore.yml b/data/registry/instrumentation-dotnet-aspnetcore.yml index 85d401f367bb..71acbef5573d 100644 --- a/data/registry/instrumentation-dotnet-aspnetcore.yml +++ b/data/registry/instrumentation-dotnet-aspnetcore.yml @@ -18,4 +18,4 @@ createdAt: 2022-11-07 package: registry: nuget name: OpenTelemetry.Instrumentation.AspNetCore - version: 1.8.1 + version: 1.9.0 diff --git a/data/registry/instrumentation-dotnet-grpcnetclient.yml b/data/registry/instrumentation-dotnet-grpcnetclient.yml index 5ab4cb918ba6..d657f4523642 100644 --- a/data/registry/instrumentation-dotnet-grpcnetclient.yml +++ b/data/registry/instrumentation-dotnet-grpcnetclient.yml @@ -18,4 +18,4 @@ createdAt: 2022-11-07 package: registry: nuget name: OpenTelemetry.Instrumentation.GrpcNetClient - version: 1.8.0-beta.1 + version: 1.9.0-beta.1 diff --git a/data/registry/instrumentation-dotnet-http.yml b/data/registry/instrumentation-dotnet-http.yml index 80b1fcbf4cb3..64b9f3968492 100644 --- a/data/registry/instrumentation-dotnet-http.yml +++ b/data/registry/instrumentation-dotnet-http.yml @@ -18,4 +18,4 @@ createdAt: 2022-11-07 package: registry: nuget name: OpenTelemetry.Instrumentation.Http - version: 1.8.1 + version: 1.9.0 diff --git a/data/registry/instrumentation-dotnet-sqlclient.yml b/data/registry/instrumentation-dotnet-sqlclient.yml index fe33baba3fcb..77a9e6e9f731 100644 --- a/data/registry/instrumentation-dotnet-sqlclient.yml +++ b/data/registry/instrumentation-dotnet-sqlclient.yml @@ -18,4 +18,4 @@ createdAt: 2022-11-07 package: registry: nuget name: OpenTelemetry.Instrumentation.SqlClient - version: 1.8.0-beta.1 + version: 1.9.0-beta.1 From 789c90dde0f50a3b8b5d2a3e57019c4e642a7656 Mon Sep 17 00:00:00 2001 From: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Date: Tue, 18 Jun 2024 12:01:33 +0200 Subject: [PATCH 07/34] Update opentelemetry-java-instrumentation version to v2.5.0 (#4697) Co-authored-by: Fabrizio Ferri-Benedetti --- content/en/docs/languages/java/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/languages/java/_index.md b/content/en/docs/languages/java/_index.md index 76d1aad34287..256928289626 100644 --- a/content/en/docs/languages/java/_index.md +++ b/content/en/docs/languages/java/_index.md @@ -6,7 +6,7 @@ description: >- aliases: [/java, /java/metrics, /java/tracing] cascade: vers: - instrumentation: 2.4.0 + instrumentation: 2.5.0 otel: 1.39.0 semconv: 1.25.0 weight: 18 From 062b4b9742dc9ff25fd356988b17a4af585d22aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Kie=C5=82kowicz?= Date: Tue, 18 Jun 2024 14:49:08 +0200 Subject: [PATCH 08/34] OpenTelemetry .NET Automatic Instrumentation v1.7.0 (#4705) Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> --- .../en/docs/zero-code/net/configuration.md | 2 +- .../en/docs/zero-code/net/instrumentations.md | 100 ++++++++++-------- static/refcache.json | 8 ++ 3 files changed, 66 insertions(+), 44 deletions(-) diff --git a/content/en/docs/zero-code/net/configuration.md b/content/en/docs/zero-code/net/configuration.md index 690791b8ed80..b2199f7ce8ac 100644 --- a/content/en/docs/zero-code/net/configuration.md +++ b/content/en/docs/zero-code/net/configuration.md @@ -205,7 +205,7 @@ Important environment variables include: - On .NET 6 and higher, the application must reference [`Grpc.Net.Client`](https://www.nuget.org/packages/Grpc.Net.Client/) to use the `grpc` OTLP exporter protocol. For example, by adding - `` to the + `` to the `.csproj` file. - On .NET Framework, the `grpc` OTLP exporter protocol is not supported. diff --git a/content/en/docs/zero-code/net/instrumentations.md b/content/en/docs/zero-code/net/instrumentations.md index 2d8f2cee763b..189a8e60132d 100644 --- a/content/en/docs/zero-code/net/instrumentations.md +++ b/content/en/docs/zero-code/net/instrumentations.md @@ -4,7 +4,7 @@ linkTitle: Instrumentations description: OpenTelemetry .NET Automatic Instrumentation supported libraries. weight: 10 # prettier-ignore -cSpell:ignore: ASPNET ASPNETCORE Bootstrapper DBSTATEMENT ELASTICTRANSPORT ENTITYFRAMEWORKCORE GRCPNETCLIENT GRPCNETCLIENT HOSTINGSTARTUPASSEMBLIES HTTPCLIENT ILOGGER MASSTRANSIT MYSQLCONNECTOR MYSQLDATA NETRUNTIME NPGSQL Npgsql NSERVICEBUS SQLCLIENT STACKEXCHANGEREDIS WCFCLIENT WCFSERVICE +cSpell:ignore: ASPNET ASPNETCORE Bootstrapper DBSTATEMENT ELASTICTRANSPORT ENTITYFRAMEWORKCORE GRCPNETCLIENT GRPCNETCLIENT HOSTINGSTARTUPASSEMBLIES HTTPCLIENT ILOGGER MASSTRANSIT MYSQLCONNECTOR MYSQLDATA NETRUNTIME NPGSQL Npgsql NSERVICEBUS ORACLEMDA SQLCLIENT STACKEXCHANGEREDIS WCFCLIENT WCFSERVICE --- The OpenTelemetry .NET Automatic Instrumentation supports a wide variety of @@ -41,38 +41,43 @@ is the case-sensitive name of the instrumentation. stable, but particular instrumentation are in Experimental status due to lack of stable semantic convention. -| ID | Instrumented library | Supported versions | Instrumentation type | Status | -| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------ | -------------------- | --------------------------------------------------------- | -| `ASPNET` | ASP.NET (.NET Framework) MVC / WebApi \[1\] **Not supported on .NET** | \* | source & bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `ASPNETCORE` | ASP.NET Core **Not supported on .NET Framework** | \* | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `AZURE` | [Azure SDK](https://azure.github.io/azure-sdk/releases/latest/index.html) | \[2\] | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `ELASTICSEARCH` | [Elastic.Clients.Elasticsearch](https://www.nuget.org/packages/Elastic.Clients.Elasticsearch) | \[3\] | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `ELASTICTRANSPORT` | [Elastic.Transport](https://www.nuget.org/packages/Elastic.Transport) | ≥0.4.16 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `ENTITYFRAMEWORKCORE` | [Microsoft.EntityFrameworkCore](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore) **Not supported on .NET Framework** | ≥6.0.12 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `GRAPHQL` | [GraphQL](https://www.nuget.org/packages/GraphQL) **Not supported on .NET Framework** | ≥7.5.0 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `GRPCNETCLIENT` | [Grpc.Net.Client](https://www.nuget.org/packages/Grpc.Net.Client) | ≥2.52.0 & < 3.0.0 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `HTTPCLIENT` | [System.Net.Http.HttpClient](https://docs.microsoft.com/dotnet/api/system.net.http.httpclient) and [System.Net.HttpWebRequest](https://docs.microsoft.com/dotnet/api/system.net.httpwebrequest) | \* | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `KAFKA` | [Confluent.Kafka](https://www.nuget.org/packages/Confluent.Kafka) | ≥1.4.0 < 3.0.0 | bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `MASSTRANSIT` | [MassTransit](https://www.nuget.org/packages/MassTransit) **Not supported on .NET Framework** | ≥8.0.0 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `MONGODB` | [MongoDB.Driver.Core](https://www.nuget.org/packages/MongoDB.Driver.Core) | ≥2.13.3 & < 3.0.0 | source & bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `MYSQLCONNECTOR` | [MySqlConnector](https://www.nuget.org/packages/MySqlConnector) | ≥2.0.0 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `MYSQLDATA` | [MySql.Data](https://www.nuget.org/packages/MySql.Data) **Not supported on .NET Framework** | ≥8.1.0 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `NPGSQL` | [Npgsql](https://www.nuget.org/packages/Npgsql) | ≥6.0.0 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `NSERVICEBUS` | [NServiceBus](https://www.nuget.org/packages/NServiceBus) | ≥8.0.0 | source & bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `QUARTZ` | [Quartz](https://www.nuget.org/packages/Quartz) **Not supported on .NET Framework 4.7.1 and older** | ≥3.4.0 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `SQLCLIENT` | [Microsoft.Data.SqlClient](https://www.nuget.org/packages/Microsoft.Data.SqlClient), [System.Data.SqlClient](https://www.nuget.org/packages/System.Data.SqlClient) and `System.Data` (shipped with .NET Framework) | \* \[4\] | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `STACKEXCHANGEREDIS` | [StackExchange.Redis](https://www.nuget.org/packages/StackExchange.Redis) **Not supported on .NET Framework** | ≥2.0.405 < 3.0.0 | source & bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `WCFCLIENT` | WCF | \* | source & bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `WCFSERVICE` | WCF **Not supported on .NET**. | \* | source & bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | +| ID | Instrumented library | Supported versions | Instrumentation type | Status | +| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------- | -------------------- | --------------------------------------------------------- | +| `ASPNET` | ASP.NET (.NET Framework) MVC / WebApi \[1\] **Not supported on .NET** | \* \[2\] | source & bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `ASPNETCORE` | ASP.NET Core **Not supported on .NET Framework** | \* | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `AZURE` | [Azure SDK](https://azure.github.io/azure-sdk/releases/latest/index.html) | \[3\] | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `ELASTICSEARCH` | [Elastic.Clients.Elasticsearch](https://www.nuget.org/packages/Elastic.Clients.Elasticsearch) | \* \[4\] | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `ELASTICTRANSPORT` | [Elastic.Transport](https://www.nuget.org/packages/Elastic.Transport) | ≥0.4.16 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `ENTITYFRAMEWORKCORE` | [Microsoft.EntityFrameworkCore](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore) **Not supported on .NET Framework** | ≥6.0.12 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `GRAPHQL` | [GraphQL](https://www.nuget.org/packages/GraphQL) **Not supported on .NET Framework** | ≥7.5.0 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `GRPCNETCLIENT` | [Grpc.Net.Client](https://www.nuget.org/packages/Grpc.Net.Client) | ≥2.52.0 & < 3.0.0 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `HTTPCLIENT` | [System.Net.Http.HttpClient](https://docs.microsoft.com/dotnet/api/system.net.http.httpclient) and [System.Net.HttpWebRequest](https://docs.microsoft.com/dotnet/api/system.net.httpwebrequest) | \* | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `KAFKA` | [Confluent.Kafka](https://www.nuget.org/packages/Confluent.Kafka) | ≥1.4.0 & < 3.0.0 \[5\] | bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `MASSTRANSIT` | [MassTransit](https://www.nuget.org/packages/MassTransit) **Not supported on .NET Framework** | ≥8.0.0 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `MONGODB` | [MongoDB.Driver.Core](https://www.nuget.org/packages/MongoDB.Driver.Core) | ≥2.13.3 & < 3.0.0 | source & bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `MYSQLCONNECTOR` | [MySqlConnector](https://www.nuget.org/packages/MySqlConnector) | ≥2.0.0 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `MYSQLDATA` | [MySql.Data](https://www.nuget.org/packages/MySql.Data) **Not supported on .NET Framework** | ≥8.1.0 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `NPGSQL` | [Npgsql](https://www.nuget.org/packages/Npgsql) | ≥6.0.0 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `NSERVICEBUS` | [NServiceBus](https://www.nuget.org/packages/NServiceBus) | ≥8.0.0 & < 10.0.0 | source & bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `ORACLEMDA` | [Oracle.ManagedDataAccess.Core](https://www.nuget.org/packages/Oracle.ManagedDataAccess.Core) and [Oracle.ManagedDataAccess](https://www.nuget.org/packages/Oracle.ManagedDataAccess) **Not supported on ARM64** | ≥23.4.0 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `QUARTZ` | [Quartz](https://www.nuget.org/packages/Quartz) **Not supported on .NET Framework 4.7.1 and older** | ≥3.4.0 | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `SQLCLIENT` | [Microsoft.Data.SqlClient](https://www.nuget.org/packages/Microsoft.Data.SqlClient), [System.Data.SqlClient](https://www.nuget.org/packages/System.Data.SqlClient) and `System.Data` (shipped with .NET Framework) | \* \[6\] | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `STACKEXCHANGEREDIS` | [StackExchange.Redis](https://www.nuget.org/packages/StackExchange.Redis) **Not supported on .NET Framework** | ≥2.0.405 & < 3.0.0 | source & bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `WCFCLIENT` | WCF | \* | source & bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `WCFSERVICE` | WCF **Not supported on .NET**. | \* | source & bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | \[1\]: Only integrated pipeline mode is supported. -\[2\]: `Azure.` prefixed packages, released after October 1, 2021. +\[2\]: `ASP.NET (.NET Framework) MVC / WebApi` is not supported on ARM64. -\[3\]: `Elastic.Clients.Elasticsearch` version ≥8.0.0 and <8.10.0. Version +\[3\]: `Azure.` prefixed packages, released after October 1, 2021. + +\[4\]: `Elastic.Clients.Elasticsearch` version ≥8.0.0 and <8.10.0. Version ≥8.10.0 is supported by `Elastic.Transport` instrumentation. -\[4\]: `Microsoft.Data.SqlClient` v3.\* is not supported on .NET Framework, due +\[5\]: `Confluent.Kafka` is supported from version ≥1.8.2 on ARM64. + +\[6\]: `Microsoft.Data.SqlClient` v3.\* is not supported on .NET Framework, due to [issue](https://github.com/open-telemetry/opentelemetry-dotnet/issues/4243). `System.Data.SqlClient` is supported from version 4.8.5. @@ -82,14 +87,14 @@ to [issue](https://github.com/open-telemetry/opentelemetry-dotnet/issues/4243). stable, but particular instrumentation are in Experimental status due to lack of stable semantic convention. -| ID | Instrumented library | Documentation | Supported versions | Instrumentation type | Status | -| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------ | -------------------- | --------------------------------------------------------- | -| `ASPNET` | ASP.NET Framework \[1\] **Not supported on .NET** | [ASP.NET metrics](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.AspNet-1.7.0-beta.1/src/OpenTelemetry.Instrumentation.AspNet/README.md#list-of-metrics-produced) | \* | source & bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `ASPNETCORE` | ASP.NET Core \[2\] **Not supported on .NET Framework** | [ASP.NET Core metrics](https://github.com/open-telemetry/opentelemetry-dotnet/blob/Instrumentation.AspNetCore-1.7.1/src/OpenTelemetry.Instrumentation.AspNetCore/README.md#list-of-metrics-produced) | \* | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `HTTPCLIENT` | [System.Net.Http.HttpClient](https://docs.microsoft.com/dotnet/api/system.net.http.httpclient) and [System.Net.HttpWebRequest](https://docs.microsoft.com/dotnet/api/system.net.httpwebrequest) | [HttpClient metrics](https://github.com/open-telemetry/opentelemetry-dotnet/blob/Instrumentation.Http-1.7.1/src/OpenTelemetry.Instrumentation.Http/README.md#list-of-metrics-produced) | \* | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `NETRUNTIME` | [OpenTelemetry.Instrumentation.Runtime](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.Runtime) | [Runtime metrics](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.Runtime-1.7.0/src/OpenTelemetry.Instrumentation.Runtime/README.md#metrics) | \* | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `PROCESS` | [OpenTelemetry.Instrumentation.Process](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.Process) | [Process metrics](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.Process-0.5.0-beta.4/src/OpenTelemetry.Instrumentation.Process/README.md#metrics) | \* | source | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `NSERVICEBUS` | [NServiceBus](https://www.nuget.org/packages/NServiceBus) | [NServiceBus metrics](https://docs.particular.net/samples/open-telemetry/prometheus-grafana/#reporting-metric-values) | ≥8.0.0 | source & bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | +| ID | Instrumented library | Documentation | Supported versions | Instrumentation type | Status | +| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------ | -------------------- | --------------------------------------------------------- | +| `ASPNET` | ASP.NET Framework \[1\] **Not supported on .NET** | [ASP.NET metrics](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.AspNet-1.9.0-beta.1/src/OpenTelemetry.Instrumentation.AspNet/README.md#list-of-metrics-produced) | \* | source & bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `ASPNETCORE` | ASP.NET Core \[2\] **Not supported on .NET Framework** | [ASP.NET Core metrics](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.AspNetCore-1.9.0/src/OpenTelemetry.Instrumentation.AspNetCore/README.md#list-of-metrics-produced) | \* | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `HTTPCLIENT` | [System.Net.Http.HttpClient](https://docs.microsoft.com/dotnet/api/system.net.http.httpclient) and [System.Net.HttpWebRequest](https://docs.microsoft.com/dotnet/api/system.net.httpwebrequest) | [HttpClient metrics](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.Http-1.9.0/src/OpenTelemetry.Instrumentation.Http/README.md#list-of-metrics-produced) | \* | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `NETRUNTIME` | [OpenTelemetry.Instrumentation.Runtime](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.Runtime) | [Runtime metrics](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.Runtime-1.9.0/src/OpenTelemetry.Instrumentation.Runtime/README.md#metrics) | \* | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `PROCESS` | [OpenTelemetry.Instrumentation.Process](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.Process) | [Process metrics](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.Process-0.5.0-beta.6/src/OpenTelemetry.Instrumentation.Process/README.md#metrics) | \* | source | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `NSERVICEBUS` | [NServiceBus](https://www.nuget.org/packages/NServiceBus) | [NServiceBus metrics](https://docs.particular.net/samples/open-telemetry/prometheus-grafana/#reporting-metric-values) | ≥8.0.0 & < 10.0.0 | source & bytecode | [Experimental](/docs/specs/otel/versioning-and-stability) | \[1\]: The ASP.NET metrics are generated only if the `AspNet` trace instrumentation is also enabled. @@ -112,11 +117,20 @@ enabled without using the .NET CLR Profiler by setting the ### Instrumentation options -| Environment variable | Description | Default value | Status | -| ----------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | --------------------------------------------------------- | -| `OTEL_DOTNET_AUTO_ENTITYFRAMEWORKCORE_SET_DBSTATEMENT_FOR_TEXT` | Whether the Entity Framework Core instrumentation can pass SQL statements through the `db.statement` attribute. Queries might contain sensitive information. If set to `false`, `db.statement` is recorded only for executing stored procedures. | `false` | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `OTEL_DOTNET_AUTO_GRAPHQL_SET_DOCUMENT` | Whether the GraphQL instrumentation can pass raw queries through the `graphql.document` attribute. Queries might contain sensitive information. | `false` | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `OTEL_DOTNET_AUTO_SQLCLIENT_SET_DBSTATEMENT_FOR_TEXT` | Whether the SQL Client instrumentation can pass SQL statements through the `db.statement` attribute. Queries might contain sensitive information. If set to `false`, `db.statement` is recorded only for executing stored procedures. **Not supported on .NET Framework for System.Data.SqlClient.** | `false` | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `OTEL_DOTNET_EXPERIMENTAL_ASPNETCORE_DISABLE_URL_QUERY_REDACTION` | Whether the ASP.NET Core instrumentation turns off redaction of the `url.query` attribute value. | `false` | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `OTEL_DOTNET_EXPERIMENTAL_HTTPCLIENT_DISABLE_URL_QUERY_REDACTION` | Whether the HTTP client instrumentation turns off redaction of the `url.full` attribute value. | `false` | [Experimental](/docs/specs/otel/versioning-and-stability) | -| `OTEL_DOTNET_EXPERIMENTAL_ASPNET_DISABLE_URL_QUERY_REDACTION` | Whether the ASP.NET instrumentation turns off redaction of the `url.query` attribute value. | `false` | [Experimental](/docs/specs/otel/versioning-and-stability) | +| Environment variable | Description | Default value | Status | +| --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | --------------------------------------------------------- | +| `OTEL_DOTNET_AUTO_ENTITYFRAMEWORKCORE_SET_DBSTATEMENT_FOR_TEXT` | Whether the Entity Framework Core instrumentation can pass SQL statements through the `db.statement` attribute. Queries might contain sensitive information. If set to `false`, `db.statement` is recorded only for executing stored procedures. | `false` | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `OTEL_DOTNET_AUTO_GRAPHQL_SET_DOCUMENT` | Whether the GraphQL instrumentation can pass raw queries through the `graphql.document` attribute. Queries might contain sensitive information. | `false` | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `OTEL_DOTNET_AUTO_ORACLEMDA_SET_DBSTATEMENT_FOR_TEXT` | Whether the Oracle Client instrumentation can pass SQL statements through the `db.statement` attribute. Queries might contain sensitive information. If set to `false`, `db.statement` is recorded only for executing stored procedures. | `false` | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `OTEL_DOTNET_AUTO_SQLCLIENT_SET_DBSTATEMENT_FOR_TEXT` | Whether the SQL Client instrumentation can pass SQL statements through the `db.statement` attribute. Queries might contain sensitive information. If set to `false`, `db.statement` is recorded only for executing stored procedures. **Not supported on .NET Framework for System.Data.SqlClient.** | `false` | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `OTEL_DOTNET_AUTO_TRACES_ASPNET_INSTRUMENTATION_CAPTURE_REQUEST_HEADERS` | A comma-separated list of HTTP header names. ASP.NET instrumentations will capture HTTP request header values for all configured header names. | | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `OTEL_DOTNET_AUTO_TRACES_ASPNET_INSTRUMENTATION_CAPTURE_RESPONSE_HEADERS` | A comma-separated list of HTTP header names. ASP.NET instrumentations will capture HTTP response header values for all configured header names. **Not supported on IIS Classic mode.** | | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `OTEL_DOTNET_AUTO_TRACES_ASPNETCORE_INSTRUMENTATION_CAPTURE_REQUEST_HEADERS` | A comma-separated list of HTTP header names. ASP.NET Core instrumentations will capture HTTP request header values for all configured header names. | | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `OTEL_DOTNET_AUTO_TRACES_ASPNETCORE_INSTRUMENTATION_CAPTURE_RESPONSE_HEADERS` | A comma-separated list of HTTP header names. ASP.NET Core instrumentations will capture HTTP response header values for all configured header names. | | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `OTEL_DOTNET_AUTO_TRACES_GRPCNETCLIENT_INSTRUMENTATION_CAPTURE_REQUEST_METADATA` | A comma-separated list of gRPC metadata names. Grpc.Net.Client instrumentations will capture gRPC request metadata values for all configured metadata names. | | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `OTEL_DOTNET_AUTO_TRACES_GRPCNETCLIENT_INSTRUMENTATION_CAPTURE_RESPONSE_METADATA` | A comma-separated list of gRPC metadata names. Grpc.Net.Client instrumentations will capture gRPC response metadata values for all configured metadata names. | | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `OTEL_DOTNET_AUTO_TRACES_HTTP_INSTRUMENTATION_CAPTURE_REQUEST_HEADERS` | A comma-separated list of HTTP header names. HTTP Client instrumentations will capture HTTP request header values for all configured header names. | | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `OTEL_DOTNET_AUTO_TRACES_HTTP_INSTRUMENTATION_CAPTURE_RESPONSE_HEADERS` | A comma-separated list of HTTP header names. HTTP Client instrumentations will capture HTTP response header values for all configured header names. | | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `OTEL_DOTNET_EXPERIMENTAL_ASPNETCORE_DISABLE_URL_QUERY_REDACTION` | Whether the ASP.NET Core instrumentation turns off redaction of the `url.query` attribute value. | `false` | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `OTEL_DOTNET_EXPERIMENTAL_HTTPCLIENT_DISABLE_URL_QUERY_REDACTION` | Whether the HTTP client instrumentation turns off redaction of the `url.full` attribute value. | `false` | [Experimental](/docs/specs/otel/versioning-and-stability) | +| `OTEL_DOTNET_EXPERIMENTAL_ASPNET_DISABLE_URL_QUERY_REDACTION` | Whether the ASP.NET instrumentation turns off redaction of the `url.query` attribute value. | `false` | [Experimental](/docs/specs/otel/versioning-and-stability) | diff --git a/static/refcache.json b/static/refcache.json index 00fe5bbff253..7f9223c45438 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -9423,6 +9423,14 @@ "StatusCode": 200, "LastSeen": "2024-01-08T12:17:13.880643+01:00" }, + "https://www.nuget.org/packages/Oracle.ManagedDataAccess": { + "StatusCode": 200, + "LastSeen": "2024-06-18T12:21:47.484668425Z" + }, + "https://www.nuget.org/packages/Oracle.ManagedDataAccess.Core": { + "StatusCode": 200, + "LastSeen": "2024-06-18T12:21:45.893563793Z" + }, "https://www.nuget.org/packages/Purview.Telemetry.SourceGenerator": { "StatusCode": 200, "LastSeen": "2024-04-26T09:57:50.691575342+01:00" From d74bfe18e13c1588d516253e24edd71cc5bd737a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Kie=C5=82kowicz?= Date: Tue, 18 Jun 2024 16:39:14 +0200 Subject: [PATCH 09/34] [demo/cartservice] Update documentation after 1.9.0 OTel .NET SDK release (#4704) --- content/en/docs/demo/services/cart.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/content/en/docs/demo/services/cart.md b/content/en/docs/demo/services/cart.md index d325d9d6f74e..075f250e838c 100644 --- a/content/en/docs/demo/services/cart.md +++ b/content/en/docs/demo/services/cart.md @@ -25,8 +25,8 @@ and resource attributes is performed through environment variables. ```cs Action appResourceBuilder = resource => resource - .AddDetector(new ContainerResourceDetector()) - .AddDetector(new HostDetector()); + .AddContainerDetector() + .AddHostDetector(); builder.Services.AddOpenTelemetry() .ConfigureResource(appResourceBuilder) @@ -81,7 +81,8 @@ desired instrumentation libraries, exporters, etc. ```cs Action appResourceBuilder = resource => resource - .AddDetector(new ContainerResourceDetector()); + .AddContainerDetector() + .AddHostDetector(); builder.Services.AddOpenTelemetry() .ConfigureResource(appResourceBuilder) From 7591d4ddfacc71376d98ada673ef0ae151208682 Mon Sep 17 00:00:00 2001 From: Theodore Brockman Date: Tue, 18 Jun 2024 12:31:23 -0400 Subject: [PATCH 10/34] Add "Browser Extension for OpenTelemetry" to the registry. (#4706) Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> --- ...ls-browser-extension-for-opentelemetry.yml | 26 +++++++++++++++++++ static/refcache.json | 8 ++++++ 2 files changed, 34 insertions(+) create mode 100644 data/registry/tools-browser-extension-for-opentelemetry.yml diff --git a/data/registry/tools-browser-extension-for-opentelemetry.yml b/data/registry/tools-browser-extension-for-opentelemetry.yml new file mode 100644 index 000000000000..8a0d2956fa15 --- /dev/null +++ b/data/registry/tools-browser-extension-for-opentelemetry.yml @@ -0,0 +1,26 @@ +# cSpell:ignore firefox autoinstrumentation Autoinjection Brockman +title: Browser Extension for OpenTelemetry +registryType: utilities +language: js +tags: + - js + - browser + - web-ext + - browser-extension + - chrome-extension + - firefox-extension + - safari-extension + - edge-extension + - autoinstrumentation +urls: + repo: https://github.com/tbrockman/browser-extension-for-opentelemetry + docs: https://github.com/tbrockman/browser-extension-for-opentelemetry?tab=readme-ov-file#browser-extension-for-opentelemetry +license: GPL-3.0 +description: | + A highly-configurable browser extension that automatically instruments webpages to emit OpenTelemetry data (while avoiding content-security policy issues!). + Very similar to the archived "OpenTelemetry Browser Extension Autoinjection", but with a few more features and a slightly different approach to content-script injection. +authors: + - name: Theodore Brockman + email: iam@theo.lol + url: https://github.com/tbrockman +createdAt: 2024-06-18 diff --git a/static/refcache.json b/static/refcache.json index 7f9223c45438..a5814c86f9db 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -4679,6 +4679,14 @@ "StatusCode": 200, "LastSeen": "2024-01-18T20:05:24.591992-05:00" }, + "https://github.com/tbrockman": { + "StatusCode": 200, + "LastSeen": "2024-06-18T16:17:50.672882714Z" + }, + "https://github.com/tbrockman/browser-extension-for-opentelemetry": { + "StatusCode": 200, + "LastSeen": "2024-06-18T16:17:47.679619692Z" + }, "https://github.com/tedsuo": { "StatusCode": 200, "LastSeen": "2024-01-30T16:04:58.240402-05:00" From 8bae4068f19ff29d81b9fb3f79f7aac6ca7496a2 Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Tue, 18 Jun 2024 20:43:02 +0200 Subject: [PATCH 11/34] Add docs-ja-approvers to codeowners. (#4693) --- .github/CODEOWNERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 986d32b7e680..f12a2bc5b35a 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -46,3 +46,5 @@ content/en/docs/zero-code/js/ @open-telemetry/docs-approvers @open-te content/en/docs/zero-code/net/ @open-telemetry/docs-approvers @open-telemetry/dotnet-approvers @open-telemetry/dotnet-instrumentation-approvers content/en/ecosystem/demo/ @open-telemetry/demo-approvers @open-telemetry/demo-approvers content/zh/ @open-telemetry/docs-maintainers @open-telemetry/docs-zh-approvers +content/ja/ @open-telemetry/docs-maintainers @open-telemetry/docs-ja-approvers + From 9ed7149e924a9fb6b1c83862aad8b9858c0ebb06 Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Tue, 18 Jun 2024 20:56:09 +0200 Subject: [PATCH 12/34] Add practices to contributor guidelines (#4702) Signed-off-by: svrnm Co-authored-by: Fabrizio Ferri-Benedetti Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> --- content/en/docs/contributing/development.md | 72 ---------- content/en/docs/contributing/sig-practices.md | 133 ++++++++++++++++++ static/refcache.json | 16 +++ 3 files changed, 149 insertions(+), 72 deletions(-) create mode 100644 content/en/docs/contributing/sig-practices.md diff --git a/content/en/docs/contributing/development.md b/content/en/docs/contributing/development.md index 67ccb8e36391..570aced402f2 100644 --- a/content/en/docs/contributing/development.md +++ b/content/en/docs/contributing/development.md @@ -3,7 +3,6 @@ title: Development description: Learn how to set up a development environment for the opentelemetry.io site. weight: 60 -cSpell:ignore: chalin --- The following instructions explain how to set up a development environment for @@ -122,77 +121,6 @@ within a submodule, set the environment variable `GET=no`. You also need to run `git fetch --unshallow` the submodule before you can submit a PR. Alternatively, set `DEPTH=100` and re-fetch submodules. -## Approver and maintainer practices - -This last section includes guidelines and some common practices used by -approvers and maintainers while doing code reviews: - -- PRs with changes to documentation co-owned by a SIG (collector, demo, - language-specific...) should aim for two approvals: one by a docs approver and - one by a SIG approver: - - Doc approver label such PRs with `sig:` and tag the SIG `-approvers` - group on that PR - - After a doc approver has reviewed and approved the PR, they can add the - label - [`sig-approval-missing`](https://github.com/open-telemetry/opentelemetry.io/labels/sig-approval-missing). - This signals to the SIG that they need to handle the PR - - If no SIG approval is given within a certain grace period (two weeks in - general, but may be less in urgent cases), docs maintainer may use their own - judgement to merge that PR -- PRs created by bots can be merged by the following practice: - - PRs that auto-update versions in the registry can be fixed, approved and - merged immediately - - PRs that auto-update the versions of SDKs, zero-code instrumentations or the - collector can be approved and merged except the corresponding SIG signals - that merging should be postponed - - PRs that auto-update the version of any specification often require updates - to scripts for the CI checks to pass. In that case often - [@chalin](https://github.com/chalin/) will handle that PR. Otherwise those - PRs can as well be approved and merged except the corresponding SIG signals - that merging should be postponed. -- PRs with changes to translations should aim for two approvals: one by a docs - approver and one by a translation approver. Similar practices apply as - suggested for the co-owned PRs. -- If the PR branch is `out-of-date with the base branch`, they do not need to be - updated continuously: every update triggers all the PR CI checks to be run! - It's often enough to update them before merging. -- A PR by non-maintainers should **never** update git sub modules. This happens - by accident from time to time. Let the PR author know that they should not - worry about it, we will fix this before merging, but in the future they should - make sure that they work from an up-to-date fork. -- If the contributor is having trouble signing the CLA or used the wrong email - by mistake in one of their commits, ask them to fix the issue or rebase the - pull request. Worst case scenario, close and re-open the PR to trigger a new - CLA check. -- Words unknown to cspell should be added to the cspell ignore list per page by - PR authors. Only approvers and maintainers will add commonly used terms to the - global list. -- Approvers and maintainers have different work schedules and circumstances. - That's why all communication is assumed to be asynchronously and they should - not feel obligated to reply outside of their normal schedule. -- When an approver or maintainer won't be available to contribute for an - extended period of time (more than a few days or a week) or won't be available - in that period of time, they should communicate this using the - [#otel-comms](https://cloud-native.slack.com/archives/C02UN96HZH6) channel and - updating the GitHub status. -- Approver and maintainer adhere to the - [OTel Code of Conduct](https://github.com/open-telemetry/community/?tab=coc-ov-file#opentelemetry-community-code-of-conduct) - and are friendly and helpful towards contributors. In the case of a conflict, - misunderstanding or any other kind of situation that makes an - approver/maintainer feel uncomfortable they can step back from a conversation, - issue or PR and ask another approver/maintainer to step in. - -The following workflow can be applied by maintainers to merge PRs: - -- Make sure that a PR has all approvals and all CI checks pass -- If the branch is out-of-date, rebase update it via the GitHub UI. -- The update will trigger all CI checks to run again, wait for them to pass or - execute a script like the following to make it happen in the background: - - ```shell - export PR=; gh pr checks ${PR} --watch && gh pr merge ${PR} --squash - ``` - [clone]: https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository [fork]: https://docs.github.com/en/get-started/quickstart/fork-a-repo diff --git a/content/en/docs/contributing/sig-practices.md b/content/en/docs/contributing/sig-practices.md new file mode 100644 index 000000000000..4397ddf2fa5b --- /dev/null +++ b/content/en/docs/contributing/sig-practices.md @@ -0,0 +1,133 @@ +--- +title: SIG practices for approver and maintainers +linkTitle: SIG practices +description: + Learn how approvers and maintainers manage issues and contributions. +weight: 999 +cSpell:ignore: chalin Comms docsy onboarded +--- + +This pages includes guidelines and some common practices used by approvers and +maintainers. + +## Onboarding + +If a contributor steps up to take on a role with more responsibility towards the +documentation (approver, maintainer) they will be onboarded by existing +approvers and maintainers: + +- They are added to the `docs-approvers` (or `docs-maintainers`) group. +- They are added to the `#otel-comms` and `#otel-maintainers` and private + in-team slack channels. +- They are asked to enroll for the calendar invites for + [SIG Comms meeting](https://groups.google.com/a/opentelemetry.io/g/calendar-comms) + and + [maintainers meeting](https://groups.google.com/a/opentelemetry.io/g/calendar-maintainer-meeting). +- They are asked to verify that the current meeting time for SIG Comms works for + them and if not to collaborate with existing approvers and maintainers to find + a time that suits everyone. +- They are asked to review the different resources available for contributors: + - [Community Resources](https://github.com/open-telemetry/community/), + especially the document around + [Community Membership](https://github.com/open-telemetry/community/blob/main/community-membership.md) + and the + [social media guide](https://github.com/open-telemetry/community/blob/main/social-media-guide.md). + - [Contributing Guidelines](/docs/contributing) As part of this, they will + review those documents and provide feedback for improving them via issues or + pull requests. + +Additional valuable resources to review are + +- [Hugo documentation](https://gohugo.io/documentation/) +- [Docsy documentation](https://www.docsy.dev/docs/) +- [Marketing guidelines](/community/marketing-guidelines/), including the Linux + Foundation’s branding and + [trademark usage guidelines](https://www.linuxfoundation.org/legal/trademark-usage). + Those are especially valuable when reviewing entries to the registry, + integrations, vendors, adopters or distributions. + +## Collaboration + +- Approvers and maintainers have different work schedules and circumstances. + That's why all communication is assumed to be asynchronous and they should not + feel obligated to reply outside of their normal schedule. +- When an approver or maintainer won't be available to contribute for an + extended period of time (more than a few days or a week) or won't be available + in that period of time, they should communicate this using the + [#otel-comms](https://cloud-native.slack.com/archives/C02UN96HZH6) channel and + updating the GitHub status. +- Approver and maintainer adhere to the + [OTel Code of Conduct](https://github.com/open-telemetry/community/?tab=coc-ov-file#opentelemetry-community-code-of-conduct) + and the [Community Values](/community/mission/#community-values). They are + friendly and helpful towards contributors. In the case of a conflict, + misunderstanding or any other kind of situation that makes an + approver/maintainer feel uncomfortable they can step back from a conversation, + issue or PR and ask another approver/maintainer to step in. + +## Code reviews + +### General + +- If the PR branch is `out-of-date with the base branch`, they do not need to be + updated continuously: every update triggers all the PR CI checks to be run! + It's often enough to update them before merging. +- A PR by non-maintainers should **never** update git sub modules. This happens + by accident from time to time. Let the PR author know that they should not + worry about it, we will fix this before merging, but in the future they should + make sure that they work from an up-to-date fork. +- If the contributor is having trouble signing the CLA or used the wrong email + by mistake in one of their commits, ask them to fix the issue or rebase the + pull request. Worst case scenario, close and re-open the PR to trigger a new + CLA check. +- Words unknown to cspell should be added to the cspell ignore list per page by + PR authors. Only approvers and maintainers will add commonly used terms to the + global list. + +### Co-owned PRs + +PRs with changes to documentation co-owned by a SIG (collector, demo, +language-specific...) should aim for two approvals: one by a docs approver and +one by a SIG approver: + +- Doc approver label such PRs with `sig:` and tag the SIG `-approvers` + group on that PR. +- After a doc approver has reviewed and approved the PR, they can add the label + [`sig-approval-missing`](https://github.com/open-telemetry/opentelemetry.io/labels/sig-approval-missing). + This signals to the SIG that they need to handle the PR. +- If no SIG approval is given within a certain grace period (two weeks in + general, but may be less in urgent cases), docs maintainer may use their own + judgement to merge that PR. + +### PRs from bots + +PRs created by bots can be merged by the following practice: + +- PRs that auto-update versions in the registry can be fixed, approved and + merged immediately. +- PRs that auto-update the versions of SDKs, zero-code instrumentations or the + collector can be approved and merged except the corresponding SIG signals that + merging should be postponed. +- PRs that auto-update the version of any specification often require updates to + scripts for the CI checks to pass. In that case + [@chalin](https://github.com/chalin/) will handle the PR. Otherwise those PRs + can as well be approved and merged except the corresponding SIG signals that + merging should be postponed. + +### Translation PRs + +PRs with changes to translations should aim for two approvals: one by a docs +approver and one by a translation approver. Similar practices apply as suggested +for the co-owned PRs. + +### Merging PRs + +The following workflow can be applied by maintainers to merge PRs: + +- Make sure that a PR has all approvals and all CI checks pass. +- If the branch is out-of-date, rebase update it via the GitHub UI. +- The update will trigger all CI checks to run again, wait for them to pass or + execute a script like the following to make it happen in the background: + + ```shell + export PR=; gh pr checks ${PR} --watch && gh pr merge ${PR} --squash + ``` diff --git a/static/refcache.json b/static/refcache.json index a5814c86f9db..1df150d31a17 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -4899,6 +4899,10 @@ "StatusCode": 206, "LastSeen": "2024-06-06T14:51:47.628909-04:00" }, + "https://gohugo.io/documentation/": { + "StatusCode": 206, + "LastSeen": "2024-06-18T10:36:41.646389+02:00" + }, "https://gohugo.io/methods/site/regularpages/": { "StatusCode": 206, "LastSeen": "2024-06-07T12:38:33.735717-04:00" @@ -4979,6 +4983,14 @@ "StatusCode": 206, "LastSeen": "2024-01-18T19:02:58.077563-05:00" }, + "https://groups.google.com/a/opentelemetry.io/g/calendar-comms": { + "StatusCode": 200, + "LastSeen": "2024-06-18T10:36:39.590318+02:00" + }, + "https://groups.google.com/a/opentelemetry.io/g/calendar-maintainer-meeting": { + "StatusCode": 200, + "LastSeen": "2024-06-18T10:36:41.220362+02:00" + }, "https://grpc.github.io/grpc/core/md_doc_naming.html": { "StatusCode": 206, "LastSeen": "2024-01-18T08:53:24.217022-05:00" @@ -8787,6 +8799,10 @@ "StatusCode": 200, "LastSeen": "2024-01-30T06:08:30.61479-05:00" }, + "https://www.docsy.dev/docs/": { + "StatusCode": 206, + "LastSeen": "2024-06-18T10:36:42.507515+02:00" + }, "https://www.dynatrace.com/news/blog/what-is-opentelemetry-2/": { "StatusCode": 200, "LastSeen": "2024-01-18T19:10:40.326174-05:00" From 73959ba020e994d4a555378b24c51bef777d560e Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Wed, 19 Jun 2024 16:41:53 +0200 Subject: [PATCH 13/34] Deprecate OpenTelemetry Browser Extension Autoinjection in registry (#4710) Co-authored-by: Tiffany Hrabusa <30397949+tiffany76@users.noreply.github.com> --- data/registry/tools-browser-extension-autoinjection.yml | 8 +++++++- .../tools-browser-extension-for-opentelemetry.yml | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/data/registry/tools-browser-extension-autoinjection.yml b/data/registry/tools-browser-extension-autoinjection.yml index 39dd89823445..0da8e6350e1d 100644 --- a/data/registry/tools-browser-extension-autoinjection.yml +++ b/data/registry/tools-browser-extension-autoinjection.yml @@ -1,4 +1,4 @@ -# cSpell:ignore firefox autoinjection +# cSpell:ignore firefox autoinjection browserextension title: OpenTelemetry Browser Extension Autoinjection registryType: utilities language: js @@ -6,6 +6,7 @@ tags: - js - browser - web-ext + - browserextension # for search to only find browser extensions and not other types of extensions - browser-extension - chrome-extension - firefox-extension @@ -15,6 +16,11 @@ description: > This browser extension allows you to inject OpenTelemetry instrumentation in any web page. It uses the Web SDK and can export data to Zipkin or an OpenTelemetry Collector. +deprecated: + reason: + This browser extension is permanently deprecated. [Other browser extensions + are available that provide similar + functionality](/ecosystem/registry/?component=utilities&s=browserextension). authors: - name: OpenTelemetry Authors diff --git a/data/registry/tools-browser-extension-for-opentelemetry.yml b/data/registry/tools-browser-extension-for-opentelemetry.yml index 8a0d2956fa15..06936df61c06 100644 --- a/data/registry/tools-browser-extension-for-opentelemetry.yml +++ b/data/registry/tools-browser-extension-for-opentelemetry.yml @@ -1,4 +1,4 @@ -# cSpell:ignore firefox autoinstrumentation Autoinjection Brockman +# cSpell:ignore firefox autoinstrumentation Autoinjection Brockman browserextension title: Browser Extension for OpenTelemetry registryType: utilities language: js @@ -6,6 +6,7 @@ tags: - js - browser - web-ext + - browserextension # for search to only find browser extensions and not other types of extensions - browser-extension - chrome-extension - firefox-extension From 7d9f682b36899d3cf5f608e8c16da169bb22752d Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Wed, 19 Jun 2024 16:59:11 +0200 Subject: [PATCH 14/34] Update GCS engine id (#4711) --- hugo.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hugo.yaml b/hugo.yaml index ef5eb3f2a0de..a865dc0765b4 100644 --- a/hugo.yaml +++ b/hugo.yaml @@ -77,7 +77,7 @@ params: observability tools. github_repo: https://github.com/open-telemetry/opentelemetry.io github_branch: main - gcs_engine_id: bde3d634eca9cd335 + gcs_engine_id: 015faf7de29c34606 ## Social media image path, such as Open Graph's og:image # From 0431b420ec7eef183788e03bebd5c409f1216632 Mon Sep 17 00:00:00 2001 From: Ana Margarita Medina Date: Wed, 19 Jun 2024 08:44:42 -0700 Subject: [PATCH 15/34] Add blog post for OTel Get Started Survey (#4663) Co-authored-by: Severin Neumann Co-authored-by: Adriana Villela <50256412+avillela@users.noreply.github.com> Co-authored-by: Tiffany Hrabusa <30397949+tiffany76@users.noreply.github.com> --- .../1-technologies-used.png | Bin 0 -> 21697 bytes .../2024/otel-get-started-survey/2-level.png | Bin 0 -> 23037 bytes .../otel-get-started-survey/3-languages.png | Bin 0 -> 30326 bytes .../otel-get-started-survey/4-resources.png | Bin 0 -> 24944 bytes .../otel-get-started-survey/5-importance.png | Bin 0 -> 50823 bytes .../2024/otel-get-started-survey/index.md | 101 ++++++++++++++++++ static/refcache.json | 8 ++ 7 files changed, 109 insertions(+) create mode 100644 content/en/blog/2024/otel-get-started-survey/1-technologies-used.png create mode 100644 content/en/blog/2024/otel-get-started-survey/2-level.png create mode 100644 content/en/blog/2024/otel-get-started-survey/3-languages.png create mode 100644 content/en/blog/2024/otel-get-started-survey/4-resources.png create mode 100644 content/en/blog/2024/otel-get-started-survey/5-importance.png create mode 100644 content/en/blog/2024/otel-get-started-survey/index.md diff --git a/content/en/blog/2024/otel-get-started-survey/1-technologies-used.png b/content/en/blog/2024/otel-get-started-survey/1-technologies-used.png new file mode 100644 index 0000000000000000000000000000000000000000..7f6bdcbac9664f192e546a73f1366ca0f4a62e4c GIT binary patch literal 21697 zcmeIa2UOG9*Dj1YRz@BF3XCG6qM{%$7C=CPsDOZg^iCA%5RfhwWKC>wVX9EtbFh$|?Ko{p@Ey=RCQl ztFe9CzHNMbeA_jzTsGk2TaV=9TbI3M6Sy+8g4@r>XY^R}vZ~Q-8|u*3R1xF&WzUa? z)@dGjzojI9%jx?E!|yb!giqdSJpAJ7uT75;(K=5~#^^uYR(a>tx~)f^KREf|7u7AB zuB?CYp#IXDUl@NqmobyhxteT@E1Lv|?ex|-$ETUt@hfrrstLQeK z81kQ{?N|?5k=3&!WCQs7TyPI)8s8PEaAV$8!Fmbs#~{L10Q|{UD+XP-)01Jgk&o|! zi+&+^@L>6IlXc)Ri~pp@?(IS1xSTor#^;AhoV$3^s=sl?LJ@1^nG2T<4@av`u@{Y~E`f zK;qo<$(6WWWw?X&l(DARHhyNaBzoEUbm(euHzNYde#Z`8U76q*+s%*E=jbsq**`h& zBv|`ftFa1wI2BvwZ@1v}F+=*8`|XK%f+CVpW8m3PQAwX&sP(ZQnvyLXD`rk7SVXdf zRayK7g^(|AHjHm%6G^M%{!Iuj+p(LGh-25YYeyrM*v4a@!$jraJ0Z(2&FQ-n)NGPW{n9Xg0t{R{!N49m(CZDzs?_U+=E{B=#i2fyhwzP{z%nZR=2 znmNHjdAGjbx=}2BxkE0luH<&5xwsY?++b@&+8M{lv$C=RZpeoV54P?elgF(*I}z>+ zWeoWvdhmF)={`H8!=jS4VMJW;65g zHAP*l!YI87;c3@f;HxP#Hiy|#5Hm5K|UuF0-jEpaBO{XN-a0;!wGS{xH^Pl z6q7lPmhYHHtS;r|;bK@b7UeGS{b=_IoVnq2Z_ybJ)5?;J-BF)T%<_W{2G$R>1c@oY#t7eBmHc~~b+ zQMQ>HG*@R@fJE~58dHa>b%+$aHmVTa|!Rgdk%~bAo44MstdyhX7%$`koN^e&n zS4``%mX|7gSLztU5xvHKFSR4=%9R_wcpX5(WE}fRi7@mL|7+Om^#$;^3DVXB1vNs?wLw{sh!BOpm7jp0hyZ+0+p0a(QX$udtn<#fl$=-;nQ06RkJBYwH7d?Dk0TwMT zqSw&fD_+c?ZJBG=^k|oVg``R0Z=ps5t23n?>eCd_ii)Wk2@xIqyTR3U0+Kn} z$~HCWx(mI;p4bv>X^$M-(Q#_=24X|qqz*!;?y*i{xiv|a#Trb9QN3Tmt0PgYP%b01 zQ&`9!x9WAYBa>6HRpd}NZE2;L(Jk60;}EoP88KS!N)TK!_CiFMzrKFgTrc7fDN8f< zDni5;J?8rbK{TLZD`{-H7j$!|QjL{_hh$T(?JSNPQrd2)rz}uD1@F<{55p}qOY-Z! zq|X`7MU-IlDRZx5&L3wKH=JN7kkVOWl9;-|hMr!6;o3yli);;^uNSi9)J;CbYAUik zx}}AbW4-Z%zPqNoJE<*lvq*QzhJU6#xz&&hM6uzWinszMLe)q^T`QgU{Gg}JNZ^!gS zy;w?1L7K%JePT%p@wuUr{CegV&hjzQ)>;Mo+D8fIts;1wF+V^Xl>bTbA`-?-wE)rP z3~Y6s1@}t1wT9A3uBS;!k;q*y?s7a_erlEgMU4gYM0u7K8J#kFVh~_3lOiQi)lu)X zI_(rUoD=k>_kOMJE>FFm;%j%TdRrC@34v8_Gdumehhw5P8FqBVsFgK`^XM(kJf)>) zGT@-GytKVk)}`locaFH3y$5h2H;x8en_V+$tTLm?)IF#wD!&Mw8*bU*foTbZc=qFj z;2|+SbW)DBwBO*9Qf0;^L{K89BAu!*?5@|o5~W9)bZW0OTvulEx_g`*MYYb3{7gP? zQZq}JMrwI&Ci9yVQfkcMyL?fJU0FS3qI*rzb!BV6SQDJcg+$+=mSYdv{Y%c?jW`|lMbWN*R|cQ|YIr1YSFfZvdmWrZ72b(bH}APUnL$P61nJCYtUNzSgg z4il261+3phqaeI!Is}6v%a|^lr<|83qQu|WwQEvi7&yX6B(D|uKH zxnx#9>sX9?ueI>94-%nFKSzd45WNw>Qy|dn@X(`9hfMYuI~PFaono7LEgT3Pq$<4`r4K86o;xl`OU^&Kg&!MGl{0vZt*Ef z$Dyxn@dw!GI=V%vn~LB9iPrBgPgleH8&wzXjxVZw@P$YlV)qr_%=A;Ssvn5?P=xj# zWD`9vu{ge*h#kS67&3;{;z_0ZaqdUJ#VL^?W%fja>0?6-t#l1|Sb-RWxeHMfnSLih z26~`K$T4UktB>8SHS4{Q5ASGh(ndMu4rx(iIXuaE|@E%WuAt=J=;&MIRF=;mdq8DL!m|@iUex7&L+kR z)i2IOPd#vV2EPqA&Nj8CMA(b( z=gvokE}5Pxvt~gHPnOWt83b;({oHk}^UL>d5YZy|?WthI6sBb33GM*|yrVgsE+!I97T`$c% z1X;!A8e7Zrxb1`TME3Q+OXJ^S7!q!L&&Kf7LQjHeQ4@5A+A4ZNO8fd2XRoDWL zp53>h?$LO%N+L3b@OHK4rub?i1%Jr6A7DPel9?iKEW&v{+>9 zTUur?m9RV0rfSmWh=a3!LFifLtf9)q&ZvXzjE|vKp1_+L)Ib`TY99hgGzdj0xX!jX zb+=CyQ3Af*$IeRQ>{8}FhPu5A#xdgcvph3P zy*v@nPwa}qhM!>geu_dD$;B2FB>xmvV?Ycd3Q@sr`lUYVE zbIh)A@8~zeBbU}+;@0rhoB^MhY9w^eVx$IH4Wwfdsu=PX9}Kw`m^dFL!m zE5@wq*!bskM76K$mbB;0J(!to%td93K|AQjO;(5>=!g9WME~bh$UOlh)l=3XVM^eR z|B!Fuir!u(sb&dU4AQl7Jog-6doG+0$MY?@nmyVnYV*a~Rc;A7Gmkh4xRvJJg=W$*k-+KJ@5h*9pD>6jbnMK*w}} zuh!?Ro7^(GVdwelki%R&I>bJ_db4QowSD{cZR?e+fED}I)OwDpSFJLqb#^W1s&MjO z>hXU_@xb;kS$ozCjN`JGxy-AHTsj7q#8rI7(4IpK>jmLViY)Bu*_@SN>~+g>_aVh@ zbd>m$RrGahJ;qMnhZPIW@b_-9m*@3sgm;VUp5=zixDzY=YJx#}n1sMB*UPkW5q_+t z_2OLmfsp0TPNEjU6x`)SLNTknKEG}bjb*x&7191k@>tf-XQjT1IHb7 zdr#+$dP=vR3M_#ZdXbk(7#JFgMF`2rwG5!RXB5}ISE%;;K)Gw0EI-Sn(CiS%1Usz^ zL=KhP-2S|=+wc8$`OAyizHkl~zm_^B(*#eNT~F|h>y>xzI?~Mm+y&G6QRM6ZKWa&s z$An!=-yvzz@J!e-VWI;uS9mn%3Z5?PQG3c|5%bIy(_+D9x{nfiGO}6fr4W z1%oZyVo_V=gUzqtj?3eo46tD!LYG7)Gu@yt7_28}V=iu|Qi-t8fXCF*I#~BE3vGUT zScO`S&Y)ET(Z(X0zOcU6Z_A(ooD)W|+kel`O%LzIBWdN-S78TEd+X9#XaHjmnEcVEVN@NIyWF7C z+Q16*jBi)P`*AEJ5yL`tpPB{n9ym?~j>o(XsD=q3nWvW5@VC5ATok*D1HUT1haNO9@l71yx9G~y#IC_)picXKmi z6z>(7_OXPloo^t;QUX1@(4ibx!#s)rcNN01H?@Km`*D~jK&WAg<}HOxnHmjwHi(R? zmCP_jG=`Pc|H#3G8`G z;ZOt~EOm2f9NWvgGlrX1V4mykCQ~zW+VBC3`-EpcRP;~;kM4b0ckMr%(+zL@@MJgV zn9t3*Iz~F_fqP`?ov741l17kgg@?VyqBWR0lOK627q@k2zrs3Eg>|NR!7t6!9@q+? zu5A{v6Z$WFZLIHx@lUG1fPVt@Z#oqM{G7$=CEhK@MjhO8@8Fh<)L+jX(>y&`z=m*4{}Spo+9s|gO9!L+X_T8 znSr=`>t#(1-q(K8cfVFxQ7Yo+#QCHVbwG;e+1cYJ;V@$K4#@KLzu$NU_j}JpTI-pP zxL^qMlg(2cOoQK-_3dMw3Z4Y^2qI%gvK5Speqkdy=h57fkX$>+wY?uaP3dKQTAo6< z+Vv+N%Xc0gT5Q=zUh1sM^Y{Xjf>%}7o@Y2@1~VQdU}I7FF+wDlILbJkn4afR-ck9| z4Cd(m)*rb0MjnUh?BsNOU`}RwP6o#=37+*voFM|Qc8Ef(4JiHj*WWHMm!`xxEJh+= zDE7F?`%GR_V1Id^NsboNXkKN_$tVXdJx@C0s6PFXs(~qvE=x~7b@NgG9ALFiYKZv8 z@pwyp=&5ggijF+zYFl17_~}T)cJyhrY{3_agZg3{P#sMw!_IL}qI${))Cogo@rgGW z_-2g8*w|gJ>+=A#+zad|x**2aGKDo;6mN)bYnn+EwwujJz>+%h;uZM!jg^hVadjw7 zUFTVqnicxoZHcN|*`S*heKjDGlO>@m;bUG^8JzkA8bg%*`(^`Uc?lo;==OoPZMOSCl8k*0PC6Zu1lgE;nmyCnWDAto6QFzBe0BLbG3*;V+s+;6n)H*1Va$H!;te1^L7AemNUS zdHR`SS+TmOGgGhz^^_9(mex5u9>4HJFZeKp2;6qYu7RAKV+z0D*^mJla;H)7Pg+d! zIcA#EBBAVghaTVA!K$M0d0TeYnz?5zW^x---I~c{B|`b0i1%|y+4@W>7cq}7sS33G z>^z$C9yvBNKGG9e=<*i%3ZAHgjINig5U3nL>oP|xocR=eFK8HQC|{EtRXH9Pd(XB! z&G{{ZGZ#u?hX6*h1u&ZU0u^`jP(t+8?2Q>At?tyaZrvP`dPll)CdArr;={2a^?XiT z=~`vt#m&f5u)08+MAGFy41dLQG1FH+I)A>dSRo%KeIzt6=-FOcFuVLwMt#Af$m)US zn{eadJ=g)1w+(lGw&EV+!}ww2{(F6oBHN|ShMl%SLrEcV1!pQuG14Z}6iVxy#qIRl zBTp8FgXRR5EL{mGDYIVEL|cku2w|6YnzswJW)52nm5Mh?WwwxK#hsP4MS1kC9f+L^ zHQT9^}f?XB7zb8r2i z1zF?M_BLs?OD5WP3&fD)N-z;q|U+B2=DMhDGFHPzTY+jf7PMcIQhJ(m4+R{&$K0_P%1+TzhMOR<^ zrplyKEnlZeIx9G<1d;#_HTJ5zv_s)?j!ue0&epz&qL@FM|0v`ES}Y}`Mp$v7KUjW$Gi7#F(ST~6u-XyZaSS^jgwULSU8 zG>+6q@K<;rl@g~q{{H4}2`EIxS79fPF!o?6iHXV(NgIp@E7_#Fu`rV zAd}bCY3R?5I_dJQf_c>cL7kuF)xe-OcA?aVO+x z0tu~J9RB;amG%E8ki1>_E`%IDr!ut`nGQB@4>$g4;@j9fzW>tNEgRQvF*z8- zv#HRRYk;7Ao83+xcG$UxhXp##@6Nme;9>Rd8eCA6e6Gwx4=UGqAHD3ju_Vk^_P$@= zjj(%@ota^+sS4fDBHL>8FYFE9z57g~j6|*;Lb_(AL_3AwBos%j|M~)J$q;YqF;t1;q_me z5H1jJ@tU#)Ssua(R3OJ0+JRzyJaFR1KrrwNP0GCFGKAIN(R?6i=1{3aTll~bXNM@n zDuiB&NFvF544>Sv>F4JVIP(g3l>_P#Qk{X-ZJ%CUB7b?mGio6CYv(5wUp*X4ZVRYl zqxP-PAH(V=`*$PlwS8?i>7eAO-hyWvK|r^Fd5l($o7HAC?Wu4t-iP6W;4aHLUsS~x z5@a2l>IG{b92e0$Duil05RU&@!lY0F!+FOq6UVDdSGW&Jh-pN|tp)V%citZ!?^^i% z{?2BQ!B6E4xufA5Htzr+%Ohd)&I2d;g{0$>llLVl`WF1W_jK0v6wlF*O(5WB$|1f^ zWVLQ>RkfycRpzZDMx#MDy-(XwD(Ko=12Htp&80m3*|Y$v#EgWCTfv%_) z7i5-O6w+&?#XDqNd$&gWAk)Da&dO zjR2JiI}n)H)7z^~Wl=GRvuDq~Af+THkKNg@<1y1G1&=hrL0@?>(2{1|9l7KiA}Crh(c{~E9- zddmkeqF)Cv*KEi+H|^?;{C&d0{5e}@Dn}!8+H#2q&yRa^Uc&*clHoU$NbjEnRpqyG zem}`Yej6Nhr_Xurw_mphUk(Lv+9A$Rr3*6+@Mg=3L;a(KPQ6gkeTvH02RA>=u`Em| z4c#u~C3Mmw&SQs1orel<3G6j0G)p^mQ(aZHU}LWCx@$lp5Ub1>JVRmiH9#B&g8gte z8zSS+beuoqLh>iUv$0r+g`Yr;41{}OZOuJfo*#2DuL~fm=~L9q5(NvFvSpYTJOycr4OW``#T|h z9tCEDt18@;j+RQ#(QN}h=0xJ*S-Oz{^!V!ES{W9Je*CZf-mRw=-fY;pr>rea$rQVk zEhA7S(0!oZdJs~^0bcz%P~0Tjb5@%4LQeZ}yvlu9^l`+IE%zp?J%`)yU2#GyGsB}*4Q@(;0ve!I8zn8HC*vHqj(}N8^U;Z~T{g)ylE-|F z>K`}$IY9XZ2|2oH61j+wKvm*i$J9fZL9d9FA*tCV#;Z$V%|JWn9)kIdo{;H4s6as? zA<1(rK(J%!UPtTAn64_bo@mcJ% zAxoKEnHoEj6ucc&5iC|?w3t1Y!|*5{9&byre{*MDSFWDu6bXlO>n}M;4pr^VFg=*us0BNv}SpKpsdn=SJqn@SFZ=5#gqeX;~Xv#aUn&HYGl z25%JLfVlT+I-2;xo}=K<`l5t^tRH*4OKj}zX3;pkP-eG&jXO6M!M^NOm3kEc8QPQJ z4u(NZ$odE%*o%6<(F>mjQG(b@kA4Q}n=(Ao$EE%|{vb4l7u-Mkmb#Lo)wVA%Svp1A zy0Re85UW+{>MBM;QaiCl>L%_^r*WYkZn}@I4pp>ehvr9{npP}X^Pq=V(f829T{vD! z@K594gKk%h7POQfzMZ*Z&0oajkhss7?DagBpcpP4+TRsX5>ruH2Jg&JTX-lF{PyIu z(=3o9?yte(pi)+ZLi5qW&WnWNhgH^*EalnaS&#vCefo4g#KXnqbhkj^Xq3wEo@T}P zi~J)7Ypcszh8fk`#7bFM7!vm4bpu=Zf^C*|;v$D0(#8s$iQiPkX-bGTRN8(acgLg? zC2zBfJ$n$Q=3#Yk=%RplW6rgeYqbNE%Rn#rD0rm>DuEyHn)BVl#XIFXx#DqJhrb#fD1?O!ZdS{HK0ihi;7=n~`)S+gidvsjWDcfCH7KPK z3dHhO{VaZ#F&jQk+CLnK2st>Um1g>>?m=_d2;N+r1?mybeWIE66}#FW6Ma3grR$9^U-D?HHkF_gX}$VGgMx; zPENcVflL&KdL(sFKK{TkDEjN)Pm-KQ=lN@*SE=nP?1j9C4N?J# zs$|8Kr9-fPF%oaB#_UDB8V{X@4V*or^Tx(4{)37paPZ|Lou(E!Kd&6))JYe2kfH=L zEcz&z^_A3b0IBG<@*Wj}7631?D<;GWEu>yGO;H1(+voY-=pMA@;ufliR8LsjEYon~{tVYommka= z7XSSZl;wAC(&cW&R^P)H0k!mvS7Ps0QuQgnKzyLM>rhSO*2-@E;02N>wQ7Q@_M^bs4*&(eG@#UTC8Pv=n=_OlE=~M)HSxW2$Naz<5yYMi_@H? z(|}oUFOT9y(1arA{)Vsh5h>OciqcfFM8JHJdOoV91*X@78E~}vzO}DLB{TLAfvSLC z-N4n=wGHqh0gDcMf4hEXX{uX;$(WM?O3f$CvdaC6K6(2=t={YRyPK2sEoeYu->kY> z#Hf?**RM6;{_*Kv9xC!CmG^~!5`7Cr@}o-e?#l*jCxdb~RC~)q!vZo<%ircN z{nfyIjyi=2@oj2U&-eU9-+-IOHjiY5>Z+qQucB4Q>jtis%rVZmv{BRi;JU*$gd@3D zDY2y~9;0hm=f|m4Ec@j=m%RvN^zP9haJJ1QyuH7<<=sR6?3^5R9v)mnA)o{D?x}8r zm7RsTIOP0jgT{1xO`UZ`Ohvb?5ysWcEe??4#68XAC4o^y-`2w?e0sc>F8OvY{7!Va zs!BoU&Jz;%*$ocDrU#a1w<|b14JHItcL+>d(xZF)$(!pbcXo!a)iN5VztuAS*2>-@ zOL2e$)AtUsKZQY#02Rh--bNICZU~DizJ2@lamJrD4Jm0~%ALUF&tW>Bkv^A~K>Yj- zm-w}@N}#^f25SXK+pFqbsCW{n#)R66Ki0Bcxapg7XNkxHU?j)N2J3A-eR1JyVPkzy zWV(w!Qoo=>cf+Ttb&AP~l)Dytp;^DuH~eV#rvL$V@O{|M#18nZw?0uvXfapjef!YEONS^B6vPvbbw(WTl@8*$Mltl&Xj#$Hf@2AewfWA@9I6_++!i>Rl zbK@@NHAkVpk$OJ1MfIwwITSCi^z186!eJ#m!iio?x5+It_sGw3DrqeC1!A1yqnE5h z-xguykRP$=dV4{;0DdLC7t5NJq|xeS_IpNXXNw_mt28vZu(UmVK%#%xT6dtm>%{ul zV>&UQ_TMt6HRHVk7T0m{O_5Da1v&wSW=uG#x}bSa@r14m{6_r8JNgRd7+D#WnmTn| zUjE;Tj7=PNNn#}TO#Bl|>^B{&IQvQNmF{Jpk6v@olusx4fF_};meyWhPL79GG&Tf>M;uIIqB0g4Y?hT*roN=WKy$D0BRT6G_Hm5vFb_69u9SWbEpTK}Vu=iisEx_K3;} zy$@7U45KBu6_w4_ZaHMgJOyd1rQ{4OVb3s zK*p?;#(vKSCv9raQ5GZGfTAE7Ze$EoQZ*^5t4S>z0%Vj}n26ttHID38--ywyuWdc@ zFfy5PW#WUz$V506P_gXU^xlVsQpdQCR^?+Zi(d0E*_nVAuyc+FZXPSrM-|P-#wSM=mgag8HH23+d%(MZt+IVu?iix)->sf2lN2}prYMk`+ zBr?R*71So8jW}8-YupVGqJI1C=<jR9Z|u>MejKTd(# z2cGl$_d!VV;i{$CkIn($hd~gXKKwsLyFcU)7XiKlK_>WHoDtX+Ze01_*Zw&M(Ko}4 zcU=x^_+vaHulx-n$Q<61k!cIK8N@$-0=cQ!hAE*R5kdV1RUf;9obRK&z%JbFgO4MB z&Vv33G=z5k)ERwuiT_9NFmm^x;_2rh-}{k)jXeYcONUr5bKsw!Oc(L%I~1O-9MqhM zT{;>73e6n+0DeM+8?aa2-AXk@+BHbwtH$Cu{HiAVAFqFIRp)cbT{RI%f|kF0wimij z)b?2Xk&Y>`^K>pJ1cuCCuv7Xcu&^ld{)?X}VxHXuNYj?yvzma5>8R^JPO7^>grL4w zVdUZeZ|scBUx+IPndsgqGs%lHKsN7Mb{_1ZoFZb-OBB2|eK^RY3V75^$dDh{tmy^9 zUkaHg`@6GlLzW%_(uE5R?Ju#{E<9eVaa2!J4H9^l++J?jfA!j|1)1-MLug~G%O>fv3 zC0p2wzj|Q6Vr5j6>-4Tmzc*;MN`t4bSQu+6Va?WPz^jWwf^k4;S$h8Vm+R)0w_ch1 zf74z#Stq*7hp=x~jm2oUmaOhS<8bvYTyr3?#wMSY_(A5tVA zM>+R=Q7P7vQD=n^XdKC?%#7pdeW)5}D=Z-17rpOVbeFJ!kYMj=U!q*%YPPzKb$4U z-;*GsG@(qQlttMU?3af!FYHB<;49=retKFNy7F*YA4hvcXy;|Zlcp$q()uoGhGwl|=>1&HHxnKwTNa*`ReKFRG~tXL_rT%I#m`PA8?zq6-#xr(@L zqVfXs;h#wRk{7LOd(}p3YwNVuWLa&%Dj@P;L)E_HnIW7jAw2rc_~-G(6{i3|en=b- zq}?mBo$&)4Mc7GD&hsO}pLn@*gs( zyOHygBb%zOYn7ibd;Rul870*;ZH@l;r-dpiInu^r^&$s=?iPN^$A+RXks53E^Nw%8 zg?{G7yPv#28=ms3;UyrudTzXbBv6LTg3~5DFYy$=A?UHy72s(a{hW5?tL2AC-XX3| zN=kKW2FI@2EbG^aM3=WXPNm{OC5Xex#dt{G>Zr=MkTZcqma+{!mp||nMfpQ! zkuPo5v8n5C-r)+rqA*j6PdxS3Js!N$$Jx~Sd{W(<6x|L4SjPnKPZQ9IAsnXW+;AQF zu~_8u`UoMRB}+f0x)^9E0#G!nHCh9NH+MJKgUss`&eV$=%yVz@SYP9KAWg}<8l1Ic zr5|dC7mQ_g)9}1A z3Isu9rkBIOoyamKL-lWS&tEOTn?B({-;h&^15@Z}L1bWY&mX`g?(SC^1rc>>{FS14 zoq`8sm;g!h`hAZ0=&zd4chkiaG5ph^^XLue`Cl$;{4i!b{y$>#y~)P!R|~KH0J{B) z$lfcs?}4Eja3}waG>?JH{9g)g`macx-#fsy_O1u?$KgLpNjh zkxeVe4B;(*7rU?zZ&gCu$8#{prwE;}^ zxs^r@$YB*`XO!K_0(m3n&?LNaDklY~Mj1t!@zrqLg={nG@DHFCL?-9^mG6$D>i$KZ zy$Oi>5|HLM0eT|4pg=1D6lqAyALV&l{^_PL(?BkkO_pf^JKzZgb!XOI2y-oF(g%(K z9zJmI*(wX0V98Zc{*%GE`t5c37P@<*W1++5V$&7l+H`zx1e+bXZ^h4>6&K*!$#nX0 z6al6xQ?RNA%WQZ5=C~6)q>)lNhh_09HD^1bxwm7}-}7qd#SI5s-7oPk zRT4fd@b^>*A}7uYC1I5HWk|SF;xf{bHidF>Pk?$hwbi=kpmBLXm7ibH&o!6|J5nb4 zY~y3|@{(5)GCbPa%A30|KC(Qnal(qIop*l+kB|GR(LQ1-1N+7F*D5NH*BJEfQ0DE% zh!xk9dzh51)(;AaS;fWrvsjk90yy6SK)eRMkcHjgTmgq3BZ4oh5a=Nc!M6B)QbOLJ z9||>ZmmfT6iE)qTiEcLvS^Ywr!Y)AocXP^O_3h4(gDG;b82wE3CJ?`N7fqKiKG!a` zpHah*P+CK?=8kDc0b_M4$~uA!BJjJyX_euuiE9xH#Wx$8L4~eu&J+EFER+Y6GAR<( zDTtIZfrjEVvGRVz(8fSV>)53ll)Xa!TrpsCo{8>3TDmMOL;y+aY7Q*31mt+%3(c>f zYz8jyXI381!D6v5=axsK64!0m)Hqn>t)oxrqOqeJZE>#prlyJKyXg6PaEXD$NWT#F zsAv?^2Rb{MFO8f3C_L_OZJPV*o||*`1Xhwc)25terG;$sG+^O;aq63>TEJpv?!wD2VEQw zqi!GBCWe9YK+{b>DJ=#mlzR^=>)P9Rs$stvAbHM;de-RO!Od0L`tpi}fD=$}kwA0^ z?Fmt$mc@c|I+94fdkCW0c-oM?CEI1!6l&UQ?tbJ0prj(%Oi`(0Z_it30oS4rTJ4LZJE>c0!R{Tm|@Xoj<3oJ+wXOytWYeOIbYrNPA_+d zS-rbseYgM^QO0h>@?}*V*~6cwXsHcY+%_OtH&jW^nz#i@oU$wv-u4(IXL)TnjYX8} zZfQ+-b~8VYK?rk>z0F9;lraj+we1SB-8I`CR`ZWZKZyFxi%7e86n>qlU*693VU@k? ziAeJKsoTcQeuWh&X#x$LI%@b6AgMy*LD6+l)`VA>8T4wA>Qq#u$lgfp3!5Hm!|OQs7*D*mkt?6wj+i~`* z`|V1EhRC{}du`O9@g&Ew*Y9_n5w&-Hwa@=m3~q*@3|1AMwldS~^|D6A)!B+N8`R0I1l|04$>g!H*a~=J0ZaxzQM#s8Jwp~E zp7^2P)qXU5`*D-bvcKw^E!;@+C8{faFify-<1$xD>iWa)d&k3Gdyu#OOI-sS4wq6sJp;OqAfRVb_^Yt? zzj;K}z{8Uu+uZ?%b*jHKcfaR{T?-(grpkSf7A5v*gk%wcqmxjYxpuozFHqT<_qOQW zQ{8=i#{pEr@+grV=f7MC0AW4@n?>k~FS9WaU3sn>n7-U>ina9`0Xqqzv$Ye|;hN}N zN$0vOtd}>~o4~KI*m{Nx4#`Q-Ns()k30=`v04?DdKh2`WFx^h;0KoW;%bh@r*<3uT`LSaWt`| z3FNh~Z6=aa zCCWghfggX2QIFt#ZE$zm>MGb})56_>D8u4%8MU2sd+wJ7o>gZ(*2dX ziV73IetRL0XM((;pQ@stvg6Mu49B~Eq%tR?bPFhx+q-Y09eQoZ}sikr>T*sj!9cF_D+K4^D zhZBEnPUz}HXkr_2i>Lg5n$Ew_hs_|DhoCDhCA1tQ>!YWMCD`?mZ7a3H@{?Tgs z;f$foSKdGXH0KbmX(5x}k-eC{Y3G6cM`OXK(>y-Ed$>@F;1s?r8YIZ^nkcjqeZbGi zc%|N@3hl@n32CpxB1>Y>G^IQW*n+YJ3C_Vt0uzpi2)+^}1E11%xQuT%_th|Ifh)&? z+3-F}{;A$Y$ZPUdSaZ05Wa}Jr*B3{~;@)r5VXmX2Gk!50GaQJ-2k-WQz=ztE8CKrc zZpAMS6!1*tQUK$<#01TVH-F}1mjfrKGtseKBV*82GBgA0WuwirID{G`D}r^Z zPQ|f2m0-v-Qpfn_t*0~jtG>MBw+9gWSbqqMNNNVak&L!I!ux#);MY!kFcZ~~=5en* z8*1&_r75l!OSUH0R!HzVAHlvNgZuUP_n*f1F?9|x9q7E{&A6*`+(>3~fRr(BU<6m5 zOLON%xrg-5&p%iZ+$(Yek1j504p3hE)g(Xl_<65G-RYsL0gJLnm?IRtKXb?-At*+R zHwzRZ#^Y>meVRu`)5CV(H|sWkh|BBc&*!vrzcJszo9uhP zCARQrqRf9sBKPDHcZet&?NDLgDy_9^`q#>gqlzStF9htOqy@SMq8_>b1UP63x3@nH z==^%zFSY#}$)J-cPs{BQJSto=ksj0xq|;_!Uc|TyUtnAU=OOML74!p&xYM>DwyX>g zu!7~=51cm>l(sr9D=T~2mtwT{wA~fZj!0p7T{-tbr-bt3Jyg-)FRCj`xhf(>rY@pF z);`fyRNhv+dw6Q8kJcNICEcW-3RtjPTdml|cBPIzZMi%kKb+&72n>z^!Xuv#GswC`8-r;v7{p7j(E zaHLGFJRgE>@D0I*b9DGZEaIuU35X3gpAvnDeAS3Cu>*Vuec861@=l))@=hEB`v;oA zk%6se*R_!7V7J{Fp>v>AfWF@Da+LK&Jhq(srXkly;EFSOT{=af6fo#9*8W4X6zysl-;mzIuAO{$?ktV2f>Y#Lz#)e^ zU}yf%U>RNr>vmqpQ}I>Z)|#lmf^2YAg75l&{6_2lEgVGSt}7Vsk^cGhIM|iW$ET^L Ldl_}{`n~@F^kavB literal 0 HcmV?d00001 diff --git a/content/en/blog/2024/otel-get-started-survey/2-level.png b/content/en/blog/2024/otel-get-started-survey/2-level.png new file mode 100644 index 0000000000000000000000000000000000000000..5635dcad0d889a3529c019a21d3a00ebf22ec958 GIT binary patch literal 23037 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
$eck|*kz3jj#a%4A{$a|d4H_O;!b}e_&}5a2 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 Date: Wed, 19 Jun 2024 18:06:41 +0200 Subject: [PATCH 16/34] Auto-update registry versions (77744e1b8df13bd1bdf43fb451f70cdc6ba0bd16) (#4714) Co-authored-by: Severin Neumann --- data/registry/collector-builder.yml | 2 +- data/registry/collector-exporter-debug.yml | 2 +- data/registry/collector-exporter-nop.yml | 2 +- data/registry/collector-exporter-otlp.yml | 2 +- data/registry/collector-extension-memorylimiter.yml | 2 +- data/registry/collector-processor-batch.yml | 2 +- data/registry/collector-receiver-nop.yml | 2 +- data/registry/collector-receiver-otlp.yml | 2 +- .../instrumentation-dotnet-aspnet-telemetryhttpmodule.yml | 2 +- data/registry/instrumentation-dotnet-aspnet.yml | 2 +- data/registry/instrumentation-dotnet-entityframeworkcore.yml | 2 +- data/registry/instrumentation-dotnet-quartz.yml | 2 +- data/registry/instrumentation-dotnet-runtime.yml | 2 +- data/registry/instrumentation-dotnet-stackexchangeredis.yml | 2 +- data/registry/instrumentation-dotnet-wcf.yml | 2 +- data/registry/instrumentation-js-prisma.yml | 2 +- data/registry/instrumentation-ruby-base.yml | 2 +- data/registry/instrumentation-ruby-dalli.yml | 2 +- data/registry/instrumentation-ruby-ethon.yml | 2 +- data/registry/instrumentation-ruby-excon.yml | 2 +- data/registry/instrumentation-ruby-faraday.yml | 2 +- data/registry/instrumentation-ruby-http-client.yml | 2 +- data/registry/instrumentation-ruby-koala.yml | 2 +- data/registry/instrumentation-ruby-net-http.yml | 2 +- data/registry/instrumentation-ruby-rack.yml | 2 +- data/registry/instrumentation-ruby-rdkafka.yml | 2 +- data/registry/instrumentation-ruby-redis.yml | 2 +- data/registry/instrumentation-ruby-restclient.yml | 2 +- data/registry/instrumentation-ruby-sidekiq.yml | 2 +- data/registry/instrumentation-ruby-sinatra.yml | 2 +- static/refcache.json | 4 ++++ 31 files changed, 34 insertions(+), 30 deletions(-) diff --git a/data/registry/collector-builder.yml b/data/registry/collector-builder.yml index afc241090881..6dad761e6fea 100644 --- a/data/registry/collector-builder.yml +++ b/data/registry/collector-builder.yml @@ -17,5 +17,5 @@ createdAt: 2023-12-18 package: registry: go name: go.opentelemetry.io/collector/cmd/builder - version: v0.102.1 + version: v0.103.1 quickInstall: false diff --git a/data/registry/collector-exporter-debug.yml b/data/registry/collector-exporter-debug.yml index 209f008e2419..36141b179238 100644 --- a/data/registry/collector-exporter-debug.yml +++ b/data/registry/collector-exporter-debug.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: go.opentelemetry.io/collector/exporter/debugexporter - version: v0.102.1 + version: v0.103.0 diff --git a/data/registry/collector-exporter-nop.yml b/data/registry/collector-exporter-nop.yml index ad8afa9345f8..2b571a06dda4 100644 --- a/data/registry/collector-exporter-nop.yml +++ b/data/registry/collector-exporter-nop.yml @@ -19,4 +19,4 @@ createdAt: 2024-04-18 package: registry: go-collector name: go.opentelemetry.io/collector/exporter/nopexporter - version: v0.102.1 + version: v0.103.0 diff --git a/data/registry/collector-exporter-otlp.yml b/data/registry/collector-exporter-otlp.yml index bc1198c7db8a..63bb1246e6ed 100644 --- a/data/registry/collector-exporter-otlp.yml +++ b/data/registry/collector-exporter-otlp.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: go.opentelemetry.io/collector/exporter/otlpexporter - version: v0.102.1 + version: v0.103.0 diff --git a/data/registry/collector-extension-memorylimiter.yml b/data/registry/collector-extension-memorylimiter.yml index b69b9d9a9e84..168a482e5f2e 100644 --- a/data/registry/collector-extension-memorylimiter.yml +++ b/data/registry/collector-extension-memorylimiter.yml @@ -18,4 +18,4 @@ createdAt: 2024-04-18 package: registry: go-collector name: go.opentelemetry.io/collector/extension/memorylimiterextension - version: v0.102.1 + version: v0.103.0 diff --git a/data/registry/collector-processor-batch.yml b/data/registry/collector-processor-batch.yml index 39081a0b1e0b..3e0f471a0838 100644 --- a/data/registry/collector-processor-batch.yml +++ b/data/registry/collector-processor-batch.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: go.opentelemetry.io/collector/processor/batchprocessor - version: v0.102.1 + version: v0.103.0 diff --git a/data/registry/collector-receiver-nop.yml b/data/registry/collector-receiver-nop.yml index 957e7e002fca..4bc24e9bb8ac 100644 --- a/data/registry/collector-receiver-nop.yml +++ b/data/registry/collector-receiver-nop.yml @@ -18,4 +18,4 @@ createdAt: 2024-04-18 package: registry: go-collector name: go.opentelemetry.io/collector/receiver/nopreceiver - version: v0.102.1 + version: v0.103.0 diff --git a/data/registry/collector-receiver-otlp.yml b/data/registry/collector-receiver-otlp.yml index 7d06944af6a6..61b3420e78ee 100644 --- a/data/registry/collector-receiver-otlp.yml +++ b/data/registry/collector-receiver-otlp.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: go.opentelemetry.io/collector/receiver/otlpreceiver - version: v0.102.1 + version: v0.103.0 diff --git a/data/registry/instrumentation-dotnet-aspnet-telemetryhttpmodule.yml b/data/registry/instrumentation-dotnet-aspnet-telemetryhttpmodule.yml index 31574d9d1692..2672670ab5ef 100644 --- a/data/registry/instrumentation-dotnet-aspnet-telemetryhttpmodule.yml +++ b/data/registry/instrumentation-dotnet-aspnet-telemetryhttpmodule.yml @@ -20,4 +20,4 @@ createdAt: 2022-11-07 package: registry: nuget name: OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule - version: 1.8.0-beta.3 + version: 1.9.0-beta.1 diff --git a/data/registry/instrumentation-dotnet-aspnet.yml b/data/registry/instrumentation-dotnet-aspnet.yml index 9ff2cafad363..01b49f49c57d 100644 --- a/data/registry/instrumentation-dotnet-aspnet.yml +++ b/data/registry/instrumentation-dotnet-aspnet.yml @@ -17,4 +17,4 @@ createdAt: 2022-10-28 package: registry: nuget name: OpenTelemetry.Instrumentation.AspNet - version: 1.8.0-beta.3 + version: 1.9.0-beta.1 diff --git a/data/registry/instrumentation-dotnet-entityframeworkcore.yml b/data/registry/instrumentation-dotnet-entityframeworkcore.yml index 5fabefdd33d1..f239c9aa6883 100644 --- a/data/registry/instrumentation-dotnet-entityframeworkcore.yml +++ b/data/registry/instrumentation-dotnet-entityframeworkcore.yml @@ -19,4 +19,4 @@ createdAt: 2022-10-28 package: registry: nuget name: OpenTelemetry.Instrumentation.EntityFrameworkCore - version: 1.0.0-beta.11 + version: 1.0.0-beta.12 diff --git a/data/registry/instrumentation-dotnet-quartz.yml b/data/registry/instrumentation-dotnet-quartz.yml index 7caf7faf2033..fe72238b0624 100644 --- a/data/registry/instrumentation-dotnet-quartz.yml +++ b/data/registry/instrumentation-dotnet-quartz.yml @@ -15,4 +15,4 @@ createdAt: 2022-10-28 package: registry: nuget name: OpenTelemetry.Instrumentation.Quartz - version: 1.0.0-beta.2 + version: 1.0.0-beta.3 diff --git a/data/registry/instrumentation-dotnet-runtime.yml b/data/registry/instrumentation-dotnet-runtime.yml index 5add9891b2cf..3986036b6a70 100644 --- a/data/registry/instrumentation-dotnet-runtime.yml +++ b/data/registry/instrumentation-dotnet-runtime.yml @@ -19,4 +19,4 @@ createdAt: 2022-08-16 package: registry: nuget name: OpenTelemetry.Instrumentation.Runtime - version: 1.8.1 + version: 1.9.0 diff --git a/data/registry/instrumentation-dotnet-stackexchangeredis.yml b/data/registry/instrumentation-dotnet-stackexchangeredis.yml index 70732be30594..d00bb5def88b 100644 --- a/data/registry/instrumentation-dotnet-stackexchangeredis.yml +++ b/data/registry/instrumentation-dotnet-stackexchangeredis.yml @@ -19,4 +19,4 @@ createdAt: 2022-10-28 package: registry: nuget name: OpenTelemetry.Instrumentation.StackExchangeRedis - version: 1.0.0-rc9.14 + version: 1.0.0-rc9.15 diff --git a/data/registry/instrumentation-dotnet-wcf.yml b/data/registry/instrumentation-dotnet-wcf.yml index 3aa232d0a429..7d1b6144e8ce 100644 --- a/data/registry/instrumentation-dotnet-wcf.yml +++ b/data/registry/instrumentation-dotnet-wcf.yml @@ -17,4 +17,4 @@ createdAt: 2022-10-28 package: registry: nuget name: OpenTelemetry.Instrumentation.Wcf - version: 1.0.0-rc.16 + version: 1.0.0-rc.17 diff --git a/data/registry/instrumentation-js-prisma.yml b/data/registry/instrumentation-js-prisma.yml index 4554777be121..8225bebdc630 100644 --- a/data/registry/instrumentation-js-prisma.yml +++ b/data/registry/instrumentation-js-prisma.yml @@ -17,4 +17,4 @@ createdAt: 2022-08-25 package: registry: npm name: '@prisma/instrumentation' - version: 5.15.0 + version: 5.15.1 diff --git a/data/registry/instrumentation-ruby-base.yml b/data/registry/instrumentation-ruby-base.yml index d146a164f50f..40596abda3ce 100644 --- a/data/registry/instrumentation-ruby-base.yml +++ b/data/registry/instrumentation-ruby-base.yml @@ -17,4 +17,4 @@ createdAt: 2022-10-27 package: registry: gems name: opentelemetry-instrumentation-base - version: 0.22.3 + version: 0.22.4 diff --git a/data/registry/instrumentation-ruby-dalli.yml b/data/registry/instrumentation-ruby-dalli.yml index ecb3a2e260a4..e856dff06eb4 100644 --- a/data/registry/instrumentation-ruby-dalli.yml +++ b/data/registry/instrumentation-ruby-dalli.yml @@ -15,4 +15,4 @@ createdAt: 2020-11-09 package: registry: gems name: opentelemetry-instrumentation-dalli - version: 0.25.2 + version: 0.25.3 diff --git a/data/registry/instrumentation-ruby-ethon.yml b/data/registry/instrumentation-ruby-ethon.yml index b15b7b1898ca..dd7000cac485 100644 --- a/data/registry/instrumentation-ruby-ethon.yml +++ b/data/registry/instrumentation-ruby-ethon.yml @@ -15,4 +15,4 @@ createdAt: 2020-11-09 package: registry: gems name: opentelemetry-instrumentation-ethon - version: 0.21.6 + version: 0.21.7 diff --git a/data/registry/instrumentation-ruby-excon.yml b/data/registry/instrumentation-ruby-excon.yml index bf6ca048c0c0..11a032989c7e 100644 --- a/data/registry/instrumentation-ruby-excon.yml +++ b/data/registry/instrumentation-ruby-excon.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-09 package: registry: gems name: opentelemetry-instrumentation-excon - version: 0.22.2 + version: 0.22.3 diff --git a/data/registry/instrumentation-ruby-faraday.yml b/data/registry/instrumentation-ruby-faraday.yml index 67b216f798dd..104333205afa 100644 --- a/data/registry/instrumentation-ruby-faraday.yml +++ b/data/registry/instrumentation-ruby-faraday.yml @@ -15,4 +15,4 @@ createdAt: 2020-11-09 package: registry: gems name: opentelemetry-instrumentation-faraday - version: 0.24.3 + version: 0.24.4 diff --git a/data/registry/instrumentation-ruby-http-client.yml b/data/registry/instrumentation-ruby-http-client.yml index dfde3fe72060..18da1d192b0e 100644 --- a/data/registry/instrumentation-ruby-http-client.yml +++ b/data/registry/instrumentation-ruby-http-client.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: gems name: opentelemetry-instrumentation-http_client - version: 0.22.5 + version: 0.22.6 diff --git a/data/registry/instrumentation-ruby-koala.yml b/data/registry/instrumentation-ruby-koala.yml index 578919aad09e..c397f988c185 100644 --- a/data/registry/instrumentation-ruby-koala.yml +++ b/data/registry/instrumentation-ruby-koala.yml @@ -15,4 +15,4 @@ createdAt: 2020-11-09 package: registry: gems name: opentelemetry-instrumentation-koala - version: 0.20.4 + version: 0.20.5 diff --git a/data/registry/instrumentation-ruby-net-http.yml b/data/registry/instrumentation-ruby-net-http.yml index 7ff7c3f06f4f..385d09c1de61 100644 --- a/data/registry/instrumentation-ruby-net-http.yml +++ b/data/registry/instrumentation-ruby-net-http.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: gems name: opentelemetry-instrumentation-net_http - version: 0.22.5 + version: 0.22.6 diff --git a/data/registry/instrumentation-ruby-rack.yml b/data/registry/instrumentation-ruby-rack.yml index 5c3abca5ce82..07e738e9fa39 100644 --- a/data/registry/instrumentation-ruby-rack.yml +++ b/data/registry/instrumentation-ruby-rack.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: gems name: opentelemetry-instrumentation-rack - version: 0.24.4 + version: 0.24.5 diff --git a/data/registry/instrumentation-ruby-rdkafka.yml b/data/registry/instrumentation-ruby-rdkafka.yml index 60646c7e014a..9431a52de6b2 100644 --- a/data/registry/instrumentation-ruby-rdkafka.yml +++ b/data/registry/instrumentation-ruby-rdkafka.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-27 package: registry: gems name: opentelemetry-instrumentation-rdkafka - version: 0.4.5 + version: 0.4.6 diff --git a/data/registry/instrumentation-ruby-redis.yml b/data/registry/instrumentation-ruby-redis.yml index 9f29cd96ffc6..bf82beff0cf1 100644 --- a/data/registry/instrumentation-ruby-redis.yml +++ b/data/registry/instrumentation-ruby-redis.yml @@ -11,7 +11,7 @@ authors: package: registry: gems name: opentelemetry-instrumentation-redis - version: 0.25.5 + version: 0.25.6 urls: repo: https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/instrumentation/redis createdAt: 2020-11-09 diff --git a/data/registry/instrumentation-ruby-restclient.yml b/data/registry/instrumentation-ruby-restclient.yml index 4440bb92fc8b..5624231e41da 100644 --- a/data/registry/instrumentation-ruby-restclient.yml +++ b/data/registry/instrumentation-ruby-restclient.yml @@ -15,4 +15,4 @@ createdAt: 2020-11-09 package: registry: gems name: opentelemetry-instrumentation-restclient - version: 0.22.5 + version: 0.22.6 diff --git a/data/registry/instrumentation-ruby-sidekiq.yml b/data/registry/instrumentation-ruby-sidekiq.yml index 79d564eab253..18ebf29e7c22 100644 --- a/data/registry/instrumentation-ruby-sidekiq.yml +++ b/data/registry/instrumentation-ruby-sidekiq.yml @@ -15,4 +15,4 @@ createdAt: 2020-11-09 package: registry: gems name: opentelemetry-instrumentation-sidekiq - version: 0.25.4 + version: 0.25.5 diff --git a/data/registry/instrumentation-ruby-sinatra.yml b/data/registry/instrumentation-ruby-sinatra.yml index e272bf5c5ca1..b71c5fc05381 100644 --- a/data/registry/instrumentation-ruby-sinatra.yml +++ b/data/registry/instrumentation-ruby-sinatra.yml @@ -15,4 +15,4 @@ createdAt: 2020-11-09 package: registry: gems name: opentelemetry-instrumentation-sinatra - version: 0.23.4 + version: 0.23.5 diff --git a/static/refcache.json b/static/refcache.json index 91fb5aa36c2a..49330b5568dd 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -3379,6 +3379,10 @@ "StatusCode": 200, "LastSeen": "2024-06-06T16:28:34.255663872Z" }, + "https://github.com/open-telemetry/opentelemetry-collector/releases/tag/cmd%2Fbuilder%2Fv0.103.1": { + "StatusCode": 200, + "LastSeen": "2024-06-19T15:40:07.724914105Z" + }, "https://github.com/open-telemetry/opentelemetry-collector/releases/tag/cmd%2Fbuilder%2Fv0.95.0": { "StatusCode": 200, "LastSeen": "2024-03-01T16:49:42.006164+01:00" From 75b10a63dd85b1eec192d29a1c06a854a1c80374 Mon Sep 17 00:00:00 2001 From: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Date: Wed, 19 Jun 2024 18:19:33 +0200 Subject: [PATCH 17/34] Update opentelemetry-collector-releases version to v0.103.0 (#4715) Co-authored-by: Fabrizio Ferri-Benedetti --- content/en/docs/collector/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/collector/_index.md b/content/en/docs/collector/_index.md index 25880ade1fd7..12942cf9f9ff 100644 --- a/content/en/docs/collector/_index.md +++ b/content/en/docs/collector/_index.md @@ -3,7 +3,7 @@ title: Collector description: Vendor-agnostic way to receive, process and export telemetry data. aliases: [collector/about] cascade: - vers: 0.102.1 + vers: 0.103.0 weight: 270 --- From c719fe4443be0336ef34b0ae810d65b8f1919d7c Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Thu, 20 Jun 2024 02:02:04 +0200 Subject: [PATCH 18/34] fix exporter intro shortcode for automatic to zero-code (#4719) Signed-off-by: svrnm Co-authored-by: Tiffany Hrabusa <30397949+tiffany76@users.noreply.github.com> --- layouts/shortcodes/docs/languages/exporters/intro.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/layouts/shortcodes/docs/languages/exporters/intro.md b/layouts/shortcodes/docs/languages/exporters/intro.md index be714cb9b1e7..cc96afdd2006 100644 --- a/layouts/shortcodes/docs/languages/exporters/intro.md +++ b/layouts/shortcodes/docs/languages/exporters/intro.md @@ -46,14 +46,14 @@ them up. {{ end -}} -{{ with $.Page.GetPage "automatic/configuration" }} {{ $l := cond (eq $lang "dotnet") "net" $lang }} +{{ with $.Page.GetPage (print "/docs/zero-code/" $l "/configuration" ) }} From d07e23448782a3af9cd8a6c204363a8c27ea60c2 Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Thu, 20 Jun 2024 08:11:34 +0200 Subject: [PATCH 19/34] [IA] Move php automatic page to zero-code (#4716) Signed-off-by: svrnm Co-authored-by: Fabrizio Ferri-Benedetti --- .github/CODEOWNERS | 1 + .../blog/2023/php-auto-instrumentation/index.md | 2 +- .../en/docs/concepts/instrumentation/zero-code.md | 2 +- content/en/docs/languages/php/exporters.md | 6 +++--- content/en/docs/languages/php/getting-started.md | 15 ++++++++------- content/en/docs/languages/php/libraries.md | 6 +----- .../php/automatic.md => zero-code/php.md} | 13 +++++++------ 7 files changed, 22 insertions(+), 23 deletions(-) rename content/en/docs/{languages/php/automatic.md => zero-code/php.md} (94%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f12a2bc5b35a..61652c5d7ba7 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -44,6 +44,7 @@ content/en/docs/specs/ @open-telemetry/docs-approvers @open-te content/en/docs/zero-code/java/ @open-telemetry/docs-approvers @open-telemetry/java-approvers @open-telemetry/java-instrumentation-approvers content/en/docs/zero-code/js/ @open-telemetry/docs-approvers @open-telemetry/javascript-approvers content/en/docs/zero-code/net/ @open-telemetry/docs-approvers @open-telemetry/dotnet-approvers @open-telemetry/dotnet-instrumentation-approvers +content/en/docs/zero-code/php/ @open-telemetry/docs-approvers @open-telemetry/php-approvers content/en/ecosystem/demo/ @open-telemetry/demo-approvers @open-telemetry/demo-approvers content/zh/ @open-telemetry/docs-maintainers @open-telemetry/docs-zh-approvers content/ja/ @open-telemetry/docs-maintainers @open-telemetry/docs-ja-approvers diff --git a/content/en/blog/2023/php-auto-instrumentation/index.md b/content/en/blog/2023/php-auto-instrumentation/index.md index d24e5db88b71..8c8b924b47d3 100644 --- a/content/en/blog/2023/php-auto-instrumentation/index.md +++ b/content/en/blog/2023/php-auto-instrumentation/index.md @@ -153,7 +153,7 @@ We have all necessary components in place: and frameworks. - Development tools that can help lower barrier for users and developers interested in instrumenting arbitrary code. -- [Documentation](/docs/languages/php/automatic/) +- [Documentation](/docs/zero-code/php/) One of our goals is to increase awareness of this work and involve more people that will help us improve it, extend coverage and fix bugs. diff --git a/content/en/docs/concepts/instrumentation/zero-code.md b/content/en/docs/concepts/instrumentation/zero-code.md index 40144874aa87..d35cb56df3ff 100644 --- a/content/en/docs/concepts/instrumentation/zero-code.md +++ b/content/en/docs/concepts/instrumentation/zero-code.md @@ -47,5 +47,5 @@ Automatic instrumentation is available for the following languages: - [.NET](/docs/zero-code/net/) - [Java](/docs/zero-code/java/) - [JavaScript](/docs/zero-code/js/) -- [PHP](/docs/languages/php/automatic/) +- [PHP](/docs/zero-code/php/) - [Python](/docs/languages/python/automatic/) diff --git a/content/en/docs/languages/php/exporters.md b/content/en/docs/languages/php/exporters.md index 8f0a7a22bffd..d92534747a99 100644 --- a/content/en/docs/languages/php/exporters.md +++ b/content/en/docs/languages/php/exporters.md @@ -8,9 +8,9 @@ cSpell:ignore: fastcgi pecl {{% alert title="Note" color="info" %}} -If you use [automatic instrumentation](/docs/languages/php/automatic/) you can -setup exporters with -[zero-code configuration to setup exporters](/docs/languages/php/automatic/#zero-code-configuration-for-automatic-instrumentation). +If you use [zero-code instrumentation](/docs/zero-code/php/) you can set up +exporters with +[zero-code configuration to setup exporters](/docs/zero-code/php#zero-code-configuration-for-automatic-instrumentation). {{% /alert %}} diff --git a/content/en/docs/languages/php/getting-started.md b/content/en/docs/languages/php/getting-started.md index 8a8d5667b063..1b75c50f9afc 100644 --- a/content/en/docs/languages/php/getting-started.md +++ b/content/en/docs/languages/php/getting-started.md @@ -10,13 +10,13 @@ OpenTelemetry for PHP can be used to generate and export [traces][], [metrics][] and [logs][]. This page will show you how to get started with OpenTelemetry in PHP. We will -create a simple "roll the dice" application, then apply both automatic and -manual instrumentation to generate [traces][] and export them to the console. We +create a simple "roll the dice" application, then apply both zero-code and code +based instrumentation to generate [traces][] and export them to the console. We will then emit some [logs][] which will also be sent to the console. ## Prerequisites -OpenTelemetry requires PHP 8.0+ for automatic instrumentation, however manual +OpenTelemetry requires PHP 8.0+ for zero-code instrumentation, however manual instrumentation will work with PHP 7.4 Ensure that you have the following installed: @@ -86,10 +86,10 @@ php -S localhost:8080 Open in your web browser to ensure it is working. -## Add automatic instrumentation +## Add zero-code instrumentation Next, you’ll use the OpenTelemetry PHP extension to -[automatically instrument](../automatic/) the application. +[automatically instrument](/docs/zero-code/php/) the application. 1. Since the extension is built from source, you need to install some build tools @@ -116,7 +116,8 @@ Next, you’ll use the OpenTelemetry PHP extension to {{% alert title="Note" color="warning" %}}Alternative methods of installing the extension are detailed in - [automatic instrumentation](../automatic/#installation). {{% /alert %}} + [zero-code instrumentation](/docs/zero-code/php/#installation). + {{% /alert %}} 3. Add the extension to your `php.ini` file: @@ -487,7 +488,7 @@ values correspond to the active span at the time the log message was generated. For more: - Run this example with another [exporter][] for telemetry data. -- Try [automatic instrumentation](../automatic/) on one of your own apps. +- Try [zero-code instrumentation](/docs/zero-code/php/) on one of your own apps. - Learn more about [manual instrumentation][] and try out some [examples](/docs/languages/php/examples/). - Take a look at the [OpenTelemetry Demo](/docs/demo/), which includes the PHP based [Quote Service](/docs/demo/services/quote/). diff --git a/content/en/docs/languages/php/libraries.md b/content/en/docs/languages/php/libraries.md index 2b21f6f61ad9..7b85fa5b9073 100644 --- a/content/en/docs/languages/php/libraries.md +++ b/content/en/docs/languages/php/libraries.md @@ -37,7 +37,7 @@ You can turn off any instrumentation by adding its identifier to the ## Available instrumentation libraries For a list of available instrumentations, see -[OpenTelemetry instrumentation packages](https://packagist.org/search/?query=open-telemetry&tags=instrumentation) +[OpenTelemetry instrumentation libraries](https://packagist.org/search/?query=open-telemetry&tags=instrumentation) on Packagist. ## Next steps @@ -49,7 +49,3 @@ custom telemetry data. You might also want to configure an appropriate exporter to [export your telemetry data](/docs/languages/php/exporters) to one or more telemetry backends. - -You can also check the -[automatic instrumentation for PHP](/docs/languages/php/automatic) for existing -library instrumentations. diff --git a/content/en/docs/languages/php/automatic.md b/content/en/docs/zero-code/php.md similarity index 94% rename from content/en/docs/languages/php/automatic.md rename to content/en/docs/zero-code/php.md index 1be02f687429..2becffe5d396 100644 --- a/content/en/docs/languages/php/automatic.md +++ b/content/en/docs/zero-code/php.md @@ -1,7 +1,8 @@ --- -title: Automatic Instrumentation -linkTitle: Automatic +title: PHP zero-code instrumentation +linkTitle: PHP weight: 30 +aliases: [/docs/languages/php/automatic] # prettier-ignore cSpell:ignore: centos configurator democlass epel myapp pecl phar remi unindented userland --- @@ -15,13 +16,13 @@ method runs. {{% alert title="Important" color="warning" %}}Installing the OpenTelemetry extension by itself will not generate traces. You must also install the [SDK](https://packagist.org/packages/open-telemetry/sdk) **and** one or more -[instrumentation packages](/ecosystem/registry/?component=instrumentation&language=php) +[instrumentation libraries](/ecosystem/registry/?component=instrumentation&language=php) for the frameworks and libraries that you are using, or alternatively write your own. You also _must_ use [composer autoloading](https://getcomposer.org/doc/01-basic-usage.md#autoloading), -as this is the mechanism all auto-instrumentation packages use to register +as this is the mechanism all instrumentation libraries use to register themselves. {{% /alert %}} ## Example @@ -224,8 +225,8 @@ commonly used PHP libraries. For the full list, see ## Next steps After you have automatic instrumentation configured for your app or service, you -might want to add [manual instrumentation](../instrumentation) to collect custom -telemetry data. +might want to add [manual instrumentation](/docs/languages/php/instrumentation) +to collect custom telemetry data. For more examples, see [opentelemetry-php-contrib/examples](https://github.com/open-telemetry/opentelemetry-php-contrib/tree/main/examples). From 4dc9422915dd434cd887b64eae928fe331cd9c48 Mon Sep 17 00:00:00 2001 From: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Date: Thu, 20 Jun 2024 09:28:00 +0200 Subject: [PATCH 20/34] Auto-update registry versions (9ef3f540f8a494f0de445aed3544217e8095f5d4) (#4721) Co-authored-by: Severin Neumann --- data/registry/collector-exporter-alertmanager.yml | 2 +- data/registry/collector-exporter-alibaba-cloud-log-service.yml | 2 +- data/registry/collector-exporter-aws-xray.yml | 2 +- data/registry/collector-exporter-awscloudwatchlogs.yml | 2 +- data/registry/collector-exporter-awsemf.yml | 2 +- data/registry/collector-exporter-awss3.yml | 2 +- data/registry/collector-exporter-azure-monitor.yml | 2 +- data/registry/collector-exporter-azuredataexplorer.yml | 2 +- data/registry/collector-exporter-carbon.yml | 2 +- data/registry/collector-exporter-cassandra.yml | 2 +- data/registry/collector-exporter-clickhouse.yml | 2 +- data/registry/collector-exporter-coralogix.yml | 2 +- data/registry/collector-exporter-datadog.yml | 2 +- data/registry/collector-exporter-dataset.yml | 2 +- data/registry/collector-exporter-elasticsearch.yml | 2 +- data/registry/collector-exporter-file.yml | 2 +- data/registry/collector-exporter-googlecloud.yml | 2 +- data/registry/collector-exporter-googlecloudpubsub.yml | 2 +- data/registry/collector-exporter-googlemanagedprometheus.yml | 2 +- data/registry/collector-exporter-honeycombmarker.yml | 2 +- data/registry/collector-exporter-influxdb.yml | 2 +- data/registry/collector-exporter-instana.yml | 2 +- data/registry/collector-exporter-kafka.yml | 2 +- data/registry/collector-exporter-kinetica.yml | 2 +- data/registry/collector-exporter-load-balancing.yml | 2 +- data/registry/collector-exporter-logicmonitor.yml | 2 +- data/registry/collector-exporter-logzio.yml | 2 +- data/registry/collector-exporter-loki.yml | 2 +- data/registry/collector-exporter-mezmo.yml | 2 +- data/registry/collector-exporter-opencensus.yml | 2 +- data/registry/collector-exporter-opensearch.yml | 2 +- data/registry/collector-exporter-otelarrow.yml | 2 +- data/registry/collector-exporter-prometheus-remote-write.yml | 2 +- data/registry/collector-exporter-prometheus.yml | 2 +- data/registry/collector-exporter-pulsar.yml | 2 +- data/registry/collector-exporter-rabbitmq.yml | 2 +- data/registry/collector-exporter-sapm.yml | 2 +- data/registry/collector-exporter-sentry.yml | 2 +- data/registry/collector-exporter-signalfx.yml | 2 +- data/registry/collector-exporter-skywalking.yml | 2 +- data/registry/collector-exporter-splunk-hec.yml | 2 +- data/registry/collector-exporter-splunk-sapm.yml | 2 +- data/registry/collector-exporter-sumologic.yml | 2 +- data/registry/collector-exporter-syslog.yml | 2 +- data/registry/collector-exporter-tencentcloudlogservice.yml | 2 +- data/registry/collector-exporter-zipkin.yml | 2 +- data/registry/collector-extension-ack.yml | 2 +- data/registry/collector-extension-asapauth.yml | 2 +- data/registry/collector-extension-basicauth.yml | 2 +- data/registry/collector-extension-bearertokenauth.yml | 2 +- data/registry/collector-extension-encoding.yml | 2 +- data/registry/collector-extension-googleclientauth.yml | 2 +- data/registry/collector-extension-headerssetter.yml | 2 +- data/registry/collector-extension-healthcheck.yml | 2 +- data/registry/collector-extension-http-forwarder.yml | 2 +- data/registry/collector-extension-jaegerremotesampling.yml | 2 +- data/registry/collector-extension-oauth2clientauth.yml | 2 +- data/registry/collector-extension-oidcauth.yml | 2 +- data/registry/collector-extension-opamp.yml | 2 +- data/registry/collector-extension-pprof.yml | 2 +- data/registry/collector-extension-remotetap.yml | 2 +- data/registry/collector-extension-sigv4auth.yml | 2 +- data/registry/collector-extension-solarwindsapmsettings.yml | 2 +- data/registry/collector-extension-sumologic.yml | 2 +- data/registry/collector-processor-attributes.yml | 2 +- data/registry/collector-processor-cumulativetodelta.yml | 2 +- data/registry/collector-processor-deltatocumulative.yml | 2 +- data/registry/collector-processor-deltatorate.yml | 2 +- data/registry/collector-processor-filter.yml | 2 +- data/registry/collector-processor-group-by-trace.yml | 2 +- data/registry/collector-processor-groupbyattrs.yml | 2 +- data/registry/collector-processor-interval.yml | 2 +- data/registry/collector-processor-k8sattributes.yml | 2 +- data/registry/collector-processor-logstransform.yml | 2 +- data/registry/collector-processor-metrics-transform.yml | 2 +- data/registry/collector-processor-metricsgeneration.yml | 2 +- data/registry/collector-processor-probabilisticsampler.yml | 2 +- data/registry/collector-processor-redaction.yml | 2 +- data/registry/collector-processor-remotetap.yml | 2 +- data/registry/collector-processor-resource-detection.yml | 2 +- data/registry/collector-processor-resource.yml | 2 +- data/registry/collector-processor-routing.yml | 2 +- data/registry/collector-processor-schema.yml | 2 +- data/registry/collector-processor-span.yml | 2 +- data/registry/collector-processor-sumologic.yml | 2 +- data/registry/collector-processor-tail-sampling.yml | 2 +- data/registry/collector-processor-transform.yml | 2 +- data/registry/collector-receiver-activedirectoryds.yml | 2 +- data/registry/collector-receiver-aerospike.yml | 2 +- data/registry/collector-receiver-apache.yml | 2 +- data/registry/collector-receiver-apachespark.yml | 2 +- data/registry/collector-receiver-aws-ecs-container-metrics.yml | 2 +- data/registry/collector-receiver-aws-xray.yml | 2 +- data/registry/collector-receiver-awscloudwatch.yml | 2 +- data/registry/collector-receiver-awscloudwatchmetrics.yml | 2 +- data/registry/collector-receiver-awscontainerinsight.yml | 2 +- data/registry/collector-receiver-awsfirehose.yml | 2 +- data/registry/collector-receiver-awss3.yml | 2 +- data/registry/collector-receiver-azureblob.yml | 2 +- data/registry/collector-receiver-azureeventhub.yml | 2 +- data/registry/collector-receiver-azuremonitor.yml | 2 +- data/registry/collector-receiver-bigip.yml | 2 +- data/registry/collector-receiver-carbon.yml | 2 +- data/registry/collector-receiver-chrony.yml | 2 +- data/registry/collector-receiver-cloudflare.yml | 2 +- data/registry/collector-receiver-cloudfoundry.yml | 2 +- data/registry/collector-receiver-collectd.yml | 2 +- data/registry/collector-receiver-couchdb.yml | 2 +- data/registry/collector-receiver-datadog.yml | 2 +- data/registry/collector-receiver-docker-stats.yml | 2 +- data/registry/collector-receiver-elasticsearch.yml | 2 +- data/registry/collector-receiver-expvar.yml | 2 +- data/registry/collector-receiver-filelog.yml | 2 +- data/registry/collector-receiver-filestats.yml | 2 +- data/registry/collector-receiver-flinkmetrics.yml | 2 +- data/registry/collector-receiver-fluent-forward.yml | 2 +- data/registry/collector-receiver-gitprovider.yml | 2 +- data/registry/collector-receiver-googlecloudpubsub.yml | 2 +- data/registry/collector-receiver-googlecloudspanner.yml | 2 +- data/registry/collector-receiver-haproxy.yml | 2 +- data/registry/collector-receiver-host-metrics.yml | 2 +- data/registry/collector-receiver-httpcheck.yml | 2 +- data/registry/collector-receiver-iis.yml | 2 +- data/registry/collector-receiver-influxdb.yml | 2 +- data/registry/collector-receiver-jaeger.yml | 2 +- data/registry/collector-receiver-jmx.yml | 2 +- data/registry/collector-receiver-journald.yml | 2 +- data/registry/collector-receiver-k8s-cluster.yml | 2 +- data/registry/collector-receiver-k8sevents.yml | 2 +- data/registry/collector-receiver-k8sobjects.yml | 2 +- data/registry/collector-receiver-kafka.yml | 2 +- data/registry/collector-receiver-kafkametrics.yml | 2 +- data/registry/collector-receiver-kubelet-stats.yml | 2 +- data/registry/collector-receiver-loki.yml | 2 +- data/registry/collector-receiver-memcached.yml | 2 +- data/registry/collector-receiver-mongodb.yml | 2 +- data/registry/collector-receiver-mongodbatlas.yml | 2 +- data/registry/collector-receiver-mysql.yml | 2 +- data/registry/collector-receiver-namedpipe.yml | 2 +- data/registry/collector-receiver-nginx.yml | 2 +- data/registry/collector-receiver-nsxt.yml | 2 +- data/registry/collector-receiver-opencensus.yml | 2 +- data/registry/collector-receiver-oracledb.yml | 2 +- data/registry/collector-receiver-osquery.yml | 2 +- data/registry/collector-receiver-otelarrow.yml | 2 +- data/registry/collector-receiver-otlpjsonfile.yml | 2 +- data/registry/collector-receiver-podman.yml | 2 +- data/registry/collector-receiver-postgresql.yml | 2 +- data/registry/collector-receiver-prometheus.yml | 2 +- data/registry/collector-receiver-pulsar.yml | 2 +- data/registry/collector-receiver-purefa.yml | 2 +- data/registry/collector-receiver-purefb.yml | 2 +- data/registry/collector-receiver-rabbitmq.yml | 2 +- data/registry/collector-receiver-receiver-creator.yml | 2 +- data/registry/collector-receiver-redis.yml | 2 +- data/registry/collector-receiver-riak.yml | 2 +- data/registry/collector-receiver-saphana.yml | 2 +- data/registry/collector-receiver-sapm.yml | 2 +- data/registry/collector-receiver-signalfx.yml | 2 +- data/registry/collector-receiver-simple-prometheus.yml | 2 +- data/registry/collector-receiver-skywalking.yml | 2 +- data/registry/collector-receiver-snmp.yml | 2 +- data/registry/collector-receiver-snowflake.yml | 2 +- data/registry/collector-receiver-solace.yml | 2 +- data/registry/collector-receiver-splunk-hec.yml | 2 +- data/registry/collector-receiver-splunkenterprise.yml | 2 +- data/registry/collector-receiver-sqlquery.yml | 2 +- data/registry/collector-receiver-sqlserver.yml | 2 +- data/registry/collector-receiver-sshcheck.yml | 2 +- data/registry/collector-receiver-statsd.yml | 2 +- data/registry/collector-receiver-syslog.yml | 2 +- data/registry/collector-receiver-tcplog.yml | 2 +- data/registry/collector-receiver-udplog.yml | 2 +- data/registry/collector-receiver-vcenter.yml | 2 +- data/registry/collector-receiver-wavefront.yml | 2 +- data/registry/collector-receiver-webhookevent.yml | 2 +- data/registry/collector-receiver-windows-perf-counters.yml | 2 +- data/registry/collector-receiver-windowseventlog.yml | 2 +- data/registry/collector-receiver-zipkin.yml | 2 +- data/registry/collector-receiver-zookeeper.yml | 2 +- data/registry/exporter-ruby-otlp.yml | 2 +- 181 files changed, 181 insertions(+), 181 deletions(-) diff --git a/data/registry/collector-exporter-alertmanager.yml b/data/registry/collector-exporter-alertmanager.yml index eeec3017664d..b0ec019e4cd8 100644 --- a/data/registry/collector-exporter-alertmanager.yml +++ b/data/registry/collector-exporter-alertmanager.yml @@ -17,7 +17,7 @@ authors: package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alertmanagerexporter - version: v0.102.0 + version: v0.103.0 urls: repo: https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/alertmanagerexporter createdAt: 2023-12-05 diff --git a/data/registry/collector-exporter-alibaba-cloud-log-service.yml b/data/registry/collector-exporter-alibaba-cloud-log-service.yml index 04ae7806e097..59eb1cdd06e0 100644 --- a/data/registry/collector-exporter-alibaba-cloud-log-service.yml +++ b/data/registry/collector-exporter-alibaba-cloud-log-service.yml @@ -17,4 +17,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-aws-xray.yml b/data/registry/collector-exporter-aws-xray.yml index d08ba4b6edca..54c28a2cecfd 100644 --- a/data/registry/collector-exporter-aws-xray.yml +++ b/data/registry/collector-exporter-aws-xray.yml @@ -16,4 +16,4 @@ createdAt: 2020-06-06 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-awscloudwatchlogs.yml b/data/registry/collector-exporter-awscloudwatchlogs.yml index 6a3ba370911c..e725a91faf66 100644 --- a/data/registry/collector-exporter-awscloudwatchlogs.yml +++ b/data/registry/collector-exporter-awscloudwatchlogs.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awscloudwatchlogsexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-awsemf.yml b/data/registry/collector-exporter-awsemf.yml index d5233f419034..a9e39c9545d0 100644 --- a/data/registry/collector-exporter-awsemf.yml +++ b/data/registry/collector-exporter-awsemf.yml @@ -16,4 +16,4 @@ createdAt: 2020-06-06 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsemfexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-awss3.yml b/data/registry/collector-exporter-awss3.yml index 6e0b878a0d65..8132774c8268 100644 --- a/data/registry/collector-exporter-awss3.yml +++ b/data/registry/collector-exporter-awss3.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-azure-monitor.yml b/data/registry/collector-exporter-azure-monitor.yml index 61ea2227ea45..edc9df83c83f 100644 --- a/data/registry/collector-exporter-azure-monitor.yml +++ b/data/registry/collector-exporter-azure-monitor.yml @@ -16,4 +16,4 @@ createdAt: 2020-06-06 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-azuredataexplorer.yml b/data/registry/collector-exporter-azuredataexplorer.yml index fade09a7769c..d31a03e20a1e 100644 --- a/data/registry/collector-exporter-azuredataexplorer.yml +++ b/data/registry/collector-exporter-azuredataexplorer.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-carbon.yml b/data/registry/collector-exporter-carbon.yml index f1a207f0d0dd..f45b0f80b972 100644 --- a/data/registry/collector-exporter-carbon.yml +++ b/data/registry/collector-exporter-carbon.yml @@ -16,4 +16,4 @@ createdAt: 2020-06-06 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-cassandra.yml b/data/registry/collector-exporter-cassandra.yml index e7ac0a398a39..a891ba9fac15 100644 --- a/data/registry/collector-exporter-cassandra.yml +++ b/data/registry/collector-exporter-cassandra.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-clickhouse.yml b/data/registry/collector-exporter-clickhouse.yml index 2aada2d8c5d6..ee25038adda6 100644 --- a/data/registry/collector-exporter-clickhouse.yml +++ b/data/registry/collector-exporter-clickhouse.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-coralogix.yml b/data/registry/collector-exporter-coralogix.yml index 70e0b33cc04d..846a22d9968e 100644 --- a/data/registry/collector-exporter-coralogix.yml +++ b/data/registry/collector-exporter-coralogix.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-datadog.yml b/data/registry/collector-exporter-datadog.yml index 6424b0a1ca28..934f617ceee1 100644 --- a/data/registry/collector-exporter-datadog.yml +++ b/data/registry/collector-exporter-datadog.yml @@ -16,4 +16,4 @@ createdAt: 2020-06-06 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-dataset.yml b/data/registry/collector-exporter-dataset.yml index eb7739a9be5e..68c23a8f9843 100644 --- a/data/registry/collector-exporter-dataset.yml +++ b/data/registry/collector-exporter-dataset.yml @@ -16,4 +16,4 @@ createdAt: 2020-06-06 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-elasticsearch.yml b/data/registry/collector-exporter-elasticsearch.yml index 910d51f0dc5d..97dada6e12fb 100644 --- a/data/registry/collector-exporter-elasticsearch.yml +++ b/data/registry/collector-exporter-elasticsearch.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-file.yml b/data/registry/collector-exporter-file.yml index 9e9edeb51445..19dcbff7dde6 100644 --- a/data/registry/collector-exporter-file.yml +++ b/data/registry/collector-exporter-file.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-googlecloud.yml b/data/registry/collector-exporter-googlecloud.yml index f5eae1158b7f..1c593a99f761 100644 --- a/data/registry/collector-exporter-googlecloud.yml +++ b/data/registry/collector-exporter-googlecloud.yml @@ -17,4 +17,4 @@ createdAt: 2020-06-06 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-googlecloudpubsub.yml b/data/registry/collector-exporter-googlecloudpubsub.yml index e8da90363070..6fdf93f78073 100644 --- a/data/registry/collector-exporter-googlecloudpubsub.yml +++ b/data/registry/collector-exporter-googlecloudpubsub.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-googlemanagedprometheus.yml b/data/registry/collector-exporter-googlemanagedprometheus.yml index 97aea384a535..ae74d08fe84a 100644 --- a/data/registry/collector-exporter-googlemanagedprometheus.yml +++ b/data/registry/collector-exporter-googlemanagedprometheus.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-27 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-honeycombmarker.yml b/data/registry/collector-exporter-honeycombmarker.yml index cbcc41b0562f..fb79508168ac 100644 --- a/data/registry/collector-exporter-honeycombmarker.yml +++ b/data/registry/collector-exporter-honeycombmarker.yml @@ -18,4 +18,4 @@ createdAt: 2023-10-17 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-influxdb.yml b/data/registry/collector-exporter-influxdb.yml index e6f0b5d2ee9d..313ab0609df0 100644 --- a/data/registry/collector-exporter-influxdb.yml +++ b/data/registry/collector-exporter-influxdb.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-instana.yml b/data/registry/collector-exporter-instana.yml index b2ed26b017ec..44142aca0ceb 100644 --- a/data/registry/collector-exporter-instana.yml +++ b/data/registry/collector-exporter-instana.yml @@ -16,4 +16,4 @@ createdAt: 2020-06-06 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-kafka.yml b/data/registry/collector-exporter-kafka.yml index a8f465af6e10..6e39d92ee3fa 100644 --- a/data/registry/collector-exporter-kafka.yml +++ b/data/registry/collector-exporter-kafka.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-kinetica.yml b/data/registry/collector-exporter-kinetica.yml index 5e00284533df..6d1c1a3f835a 100644 --- a/data/registry/collector-exporter-kinetica.yml +++ b/data/registry/collector-exporter-kinetica.yml @@ -18,4 +18,4 @@ createdAt: 2023-09-19 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kineticaexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-load-balancing.yml b/data/registry/collector-exporter-load-balancing.yml index 759a33f7d5c7..326e98219731 100644 --- a/data/registry/collector-exporter-load-balancing.yml +++ b/data/registry/collector-exporter-load-balancing.yml @@ -16,4 +16,4 @@ createdAt: 2020-10-22 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-logicmonitor.yml b/data/registry/collector-exporter-logicmonitor.yml index fc7dbe4397da..2cf2d9f382fb 100644 --- a/data/registry/collector-exporter-logicmonitor.yml +++ b/data/registry/collector-exporter-logicmonitor.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-logzio.yml b/data/registry/collector-exporter-logzio.yml index 11a46339d7b9..0cdbc050e548 100644 --- a/data/registry/collector-exporter-logzio.yml +++ b/data/registry/collector-exporter-logzio.yml @@ -16,4 +16,4 @@ createdAt: 2020-10-22 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-loki.yml b/data/registry/collector-exporter-loki.yml index 8932ac3dda4e..193a47e7493a 100644 --- a/data/registry/collector-exporter-loki.yml +++ b/data/registry/collector-exporter-loki.yml @@ -16,4 +16,4 @@ createdAt: 2020-10-22 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-mezmo.yml b/data/registry/collector-exporter-mezmo.yml index 9d40ff7c44b1..6d264de22d46 100644 --- a/data/registry/collector-exporter-mezmo.yml +++ b/data/registry/collector-exporter-mezmo.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-opencensus.yml b/data/registry/collector-exporter-opencensus.yml index 8402ffbb66df..d3c5ab362c1d 100644 --- a/data/registry/collector-exporter-opencensus.yml +++ b/data/registry/collector-exporter-opencensus.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-opensearch.yml b/data/registry/collector-exporter-opensearch.yml index 91026635763a..b2bebc0d5d75 100644 --- a/data/registry/collector-exporter-opensearch.yml +++ b/data/registry/collector-exporter-opensearch.yml @@ -18,4 +18,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-otelarrow.yml b/data/registry/collector-exporter-otelarrow.yml index efb603366a2f..6615378c84a1 100644 --- a/data/registry/collector-exporter-otelarrow.yml +++ b/data/registry/collector-exporter-otelarrow.yml @@ -21,4 +21,4 @@ createdAt: 2024-02-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/otelarrowexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-prometheus-remote-write.yml b/data/registry/collector-exporter-prometheus-remote-write.yml index 77785428c632..63b076974f20 100644 --- a/data/registry/collector-exporter-prometheus-remote-write.yml +++ b/data/registry/collector-exporter-prometheus-remote-write.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-prometheus.yml b/data/registry/collector-exporter-prometheus.yml index 4c350819ac01..6e87ba3e5a0d 100644 --- a/data/registry/collector-exporter-prometheus.yml +++ b/data/registry/collector-exporter-prometheus.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-pulsar.yml b/data/registry/collector-exporter-pulsar.yml index 5366dd1b8b1b..11e90156b80a 100644 --- a/data/registry/collector-exporter-pulsar.yml +++ b/data/registry/collector-exporter-pulsar.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-27 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-rabbitmq.yml b/data/registry/collector-exporter-rabbitmq.yml index 9b86846ca89b..f223662ac412 100644 --- a/data/registry/collector-exporter-rabbitmq.yml +++ b/data/registry/collector-exporter-rabbitmq.yml @@ -17,4 +17,4 @@ createdAt: 2024-04-18 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/rabbitmqexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-sapm.yml b/data/registry/collector-exporter-sapm.yml index 3c831ebbad76..a00ddd71a91c 100644 --- a/data/registry/collector-exporter-sapm.yml +++ b/data/registry/collector-exporter-sapm.yml @@ -18,4 +18,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-sentry.yml b/data/registry/collector-exporter-sentry.yml index 656bbcdd5750..7fbe1dabad6f 100644 --- a/data/registry/collector-exporter-sentry.yml +++ b/data/registry/collector-exporter-sentry.yml @@ -16,4 +16,4 @@ createdAt: 2020-06-06 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-signalfx.yml b/data/registry/collector-exporter-signalfx.yml index fd663e48af4d..0f58bdaa8bff 100644 --- a/data/registry/collector-exporter-signalfx.yml +++ b/data/registry/collector-exporter-signalfx.yml @@ -16,4 +16,4 @@ createdAt: 2020-06-06 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-skywalking.yml b/data/registry/collector-exporter-skywalking.yml index 32d65949554d..85498f1442cc 100644 --- a/data/registry/collector-exporter-skywalking.yml +++ b/data/registry/collector-exporter-skywalking.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-27 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/skywalkingexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-splunk-hec.yml b/data/registry/collector-exporter-splunk-hec.yml index a1247a82ad70..6fbe30202faf 100644 --- a/data/registry/collector-exporter-splunk-hec.yml +++ b/data/registry/collector-exporter-splunk-hec.yml @@ -18,4 +18,4 @@ createdAt: 2020-06-06 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-splunk-sapm.yml b/data/registry/collector-exporter-splunk-sapm.yml index f9d5ba32c2c3..5e70c1811352 100644 --- a/data/registry/collector-exporter-splunk-sapm.yml +++ b/data/registry/collector-exporter-splunk-sapm.yml @@ -16,4 +16,4 @@ createdAt: 2020-06-06 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-sumologic.yml b/data/registry/collector-exporter-sumologic.yml index 5c7c41154c4b..ae95dad12b18 100644 --- a/data/registry/collector-exporter-sumologic.yml +++ b/data/registry/collector-exporter-sumologic.yml @@ -16,4 +16,4 @@ createdAt: 2020-10-22 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-syslog.yml b/data/registry/collector-exporter-syslog.yml index 8fd5a291e2d9..3f7194c9f490 100644 --- a/data/registry/collector-exporter-syslog.yml +++ b/data/registry/collector-exporter-syslog.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-tencentcloudlogservice.yml b/data/registry/collector-exporter-tencentcloudlogservice.yml index ad08c72d9124..9d6c09aa07ef 100644 --- a/data/registry/collector-exporter-tencentcloudlogservice.yml +++ b/data/registry/collector-exporter-tencentcloudlogservice.yml @@ -17,4 +17,4 @@ createdAt: 2022-10-27 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-exporter-zipkin.yml b/data/registry/collector-exporter-zipkin.yml index 399bef3e7500..2af5986263a5 100644 --- a/data/registry/collector-exporter-zipkin.yml +++ b/data/registry/collector-exporter-zipkin.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-ack.yml b/data/registry/collector-extension-ack.yml index 2e91c4b52bdc..9c1813acbb2b 100644 --- a/data/registry/collector-extension-ack.yml +++ b/data/registry/collector-extension-ack.yml @@ -18,4 +18,4 @@ createdAt: 2024-04-18 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/ackextension - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-asapauth.yml b/data/registry/collector-extension-asapauth.yml index a111902673c6..c2157ea2bc65 100644 --- a/data/registry/collector-extension-asapauth.yml +++ b/data/registry/collector-extension-asapauth.yml @@ -19,4 +19,4 @@ createdAt: 2022-11-07 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/asapauthextension - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-basicauth.yml b/data/registry/collector-extension-basicauth.yml index a7daba985f44..556882de2df5 100644 --- a/data/registry/collector-extension-basicauth.yml +++ b/data/registry/collector-extension-basicauth.yml @@ -19,4 +19,4 @@ createdAt: 2022-11-07 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-bearertokenauth.yml b/data/registry/collector-extension-bearertokenauth.yml index 5c47e67b20eb..f73c813e03f5 100644 --- a/data/registry/collector-extension-bearertokenauth.yml +++ b/data/registry/collector-extension-bearertokenauth.yml @@ -18,4 +18,4 @@ createdAt: 2021-06-22 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-encoding.yml b/data/registry/collector-extension-encoding.yml index 0d2a07d351cd..a4ca770a5e9e 100644 --- a/data/registry/collector-extension-encoding.yml +++ b/data/registry/collector-extension-encoding.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-googleclientauth.yml b/data/registry/collector-extension-googleclientauth.yml index 5a033f57e960..cadb2b5e0dd6 100644 --- a/data/registry/collector-extension-googleclientauth.yml +++ b/data/registry/collector-extension-googleclientauth.yml @@ -18,4 +18,4 @@ createdAt: 2024-04-18 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/googleclientauthextension - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-headerssetter.yml b/data/registry/collector-extension-headerssetter.yml index 93eaf91e4b49..b6e79118cc72 100644 --- a/data/registry/collector-extension-headerssetter.yml +++ b/data/registry/collector-extension-headerssetter.yml @@ -20,4 +20,4 @@ createdAt: 2022-11-07 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/headerssetterextension - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-healthcheck.yml b/data/registry/collector-extension-healthcheck.yml index fc02487f5699..b4c0b13e3f4b 100644 --- a/data/registry/collector-extension-healthcheck.yml +++ b/data/registry/collector-extension-healthcheck.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-http-forwarder.yml b/data/registry/collector-extension-http-forwarder.yml index 7bdcc7c69e0a..972efe01eb13 100644 --- a/data/registry/collector-extension-http-forwarder.yml +++ b/data/registry/collector-extension-http-forwarder.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/httpforwarderextension - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-jaegerremotesampling.yml b/data/registry/collector-extension-jaegerremotesampling.yml index e77c6e97ae69..6409afe987d5 100644 --- a/data/registry/collector-extension-jaegerremotesampling.yml +++ b/data/registry/collector-extension-jaegerremotesampling.yml @@ -19,4 +19,4 @@ createdAt: 2022-11-07 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/jaegerremotesampling - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-oauth2clientauth.yml b/data/registry/collector-extension-oauth2clientauth.yml index 651934467ade..a32a86b36d5a 100644 --- a/data/registry/collector-extension-oauth2clientauth.yml +++ b/data/registry/collector-extension-oauth2clientauth.yml @@ -18,4 +18,4 @@ createdAt: 2021-06-22 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/oauth2clientauthextension - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-oidcauth.yml b/data/registry/collector-extension-oidcauth.yml index c956955ffabe..df22a3cefca6 100644 --- a/data/registry/collector-extension-oidcauth.yml +++ b/data/registry/collector-extension-oidcauth.yml @@ -19,4 +19,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/oidcauthextension - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-opamp.yml b/data/registry/collector-extension-opamp.yml index 4e50031acdc1..e77cf6056bf5 100644 --- a/data/registry/collector-extension-opamp.yml +++ b/data/registry/collector-extension-opamp.yml @@ -16,4 +16,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampextension - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-pprof.yml b/data/registry/collector-extension-pprof.yml index 86f1e2f621e5..a73b762ae5db 100644 --- a/data/registry/collector-extension-pprof.yml +++ b/data/registry/collector-extension-pprof.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-remotetap.yml b/data/registry/collector-extension-remotetap.yml index b4b2f7f63753..b96aabc6ac9e 100644 --- a/data/registry/collector-extension-remotetap.yml +++ b/data/registry/collector-extension-remotetap.yml @@ -19,4 +19,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/remotetapextension - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-sigv4auth.yml b/data/registry/collector-extension-sigv4auth.yml index 031794bb3e2b..c22e03659416 100644 --- a/data/registry/collector-extension-sigv4auth.yml +++ b/data/registry/collector-extension-sigv4auth.yml @@ -19,4 +19,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/sigv4authextension - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-solarwindsapmsettings.yml b/data/registry/collector-extension-solarwindsapmsettings.yml index f648055c17a3..0b65558f3d2b 100644 --- a/data/registry/collector-extension-solarwindsapmsettings.yml +++ b/data/registry/collector-extension-solarwindsapmsettings.yml @@ -21,4 +21,4 @@ createdAt: 2024-02-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/solarwindsapmsettingsextension - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-extension-sumologic.yml b/data/registry/collector-extension-sumologic.yml index 675a7e09871e..f9db186453c6 100644 --- a/data/registry/collector-extension-sumologic.yml +++ b/data/registry/collector-extension-sumologic.yml @@ -18,4 +18,4 @@ createdAt: 2024-04-18 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/extension/sumologicextension - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-attributes.yml b/data/registry/collector-processor-attributes.yml index 8d9b45185c02..bedd26ff1579 100644 --- a/data/registry/collector-processor-attributes.yml +++ b/data/registry/collector-processor-attributes.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-cumulativetodelta.yml b/data/registry/collector-processor-cumulativetodelta.yml index 1f6f68bd64b1..8c0bbc8dd9dd 100644 --- a/data/registry/collector-processor-cumulativetodelta.yml +++ b/data/registry/collector-processor-cumulativetodelta.yml @@ -19,4 +19,4 @@ createdAt: 2022-10-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-deltatocumulative.yml b/data/registry/collector-processor-deltatocumulative.yml index bd3fd49696ca..1d91795fc0f0 100644 --- a/data/registry/collector-processor-deltatocumulative.yml +++ b/data/registry/collector-processor-deltatocumulative.yml @@ -19,4 +19,4 @@ createdAt: 2024-02-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatocumulativeprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-deltatorate.yml b/data/registry/collector-processor-deltatorate.yml index 24108d261268..14123d42afa1 100644 --- a/data/registry/collector-processor-deltatorate.yml +++ b/data/registry/collector-processor-deltatorate.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-filter.yml b/data/registry/collector-processor-filter.yml index f2bfc75b342e..1f3684024375 100644 --- a/data/registry/collector-processor-filter.yml +++ b/data/registry/collector-processor-filter.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-group-by-trace.yml b/data/registry/collector-processor-group-by-trace.yml index 733be0b0b441..67e515563f70 100644 --- a/data/registry/collector-processor-group-by-trace.yml +++ b/data/registry/collector-processor-group-by-trace.yml @@ -19,4 +19,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-groupbyattrs.yml b/data/registry/collector-processor-groupbyattrs.yml index 400309fc9dae..73bef034ad47 100644 --- a/data/registry/collector-processor-groupbyattrs.yml +++ b/data/registry/collector-processor-groupbyattrs.yml @@ -20,4 +20,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-interval.yml b/data/registry/collector-processor-interval.yml index b8bf6a20ff58..15d7c62baeb8 100644 --- a/data/registry/collector-processor-interval.yml +++ b/data/registry/collector-processor-interval.yml @@ -18,4 +18,4 @@ createdAt: 2024-02-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/intervalprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-k8sattributes.yml b/data/registry/collector-processor-k8sattributes.yml index fdd7a178780d..7a2ee212b73a 100644 --- a/data/registry/collector-processor-k8sattributes.yml +++ b/data/registry/collector-processor-k8sattributes.yml @@ -19,4 +19,4 @@ createdAt: 2022-03-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-logstransform.yml b/data/registry/collector-processor-logstransform.yml index 02e56691a329..4877c0b9186b 100644 --- a/data/registry/collector-processor-logstransform.yml +++ b/data/registry/collector-processor-logstransform.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/logstransformprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-metrics-transform.yml b/data/registry/collector-processor-metrics-transform.yml index 5b33048245ef..e923c6540e66 100644 --- a/data/registry/collector-processor-metrics-transform.yml +++ b/data/registry/collector-processor-metrics-transform.yml @@ -19,4 +19,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-metricsgeneration.yml b/data/registry/collector-processor-metricsgeneration.yml index 3054f81e6662..74af70cd9250 100644 --- a/data/registry/collector-processor-metricsgeneration.yml +++ b/data/registry/collector-processor-metricsgeneration.yml @@ -19,4 +19,4 @@ createdAt: 2022-10-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-probabilisticsampler.yml b/data/registry/collector-processor-probabilisticsampler.yml index 7af4375b48a9..d4a35f93cf3c 100644 --- a/data/registry/collector-processor-probabilisticsampler.yml +++ b/data/registry/collector-processor-probabilisticsampler.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-redaction.yml b/data/registry/collector-processor-redaction.yml index 9bee24e519ca..57d40216ab03 100644 --- a/data/registry/collector-processor-redaction.yml +++ b/data/registry/collector-processor-redaction.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-remotetap.yml b/data/registry/collector-processor-remotetap.yml index 41300b6d79df..ffc4b28ae341 100644 --- a/data/registry/collector-processor-remotetap.yml +++ b/data/registry/collector-processor-remotetap.yml @@ -20,4 +20,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-resource-detection.yml b/data/registry/collector-processor-resource-detection.yml index f9d0317fe9e8..08c6f35cdb35 100644 --- a/data/registry/collector-processor-resource-detection.yml +++ b/data/registry/collector-processor-resource-detection.yml @@ -20,4 +20,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-resource.yml b/data/registry/collector-processor-resource.yml index f6f7623d8de1..a129dcb7cd7f 100644 --- a/data/registry/collector-processor-resource.yml +++ b/data/registry/collector-processor-resource.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-routing.yml b/data/registry/collector-processor-routing.yml index 657781173b92..dd4f13b2db98 100644 --- a/data/registry/collector-processor-routing.yml +++ b/data/registry/collector-processor-routing.yml @@ -19,4 +19,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-schema.yml b/data/registry/collector-processor-schema.yml index 0798e07ee7b8..dbe194653059 100644 --- a/data/registry/collector-processor-schema.yml +++ b/data/registry/collector-processor-schema.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/schemaprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-span.yml b/data/registry/collector-processor-span.yml index 3464ef5ee991..bc819b2dfb15 100644 --- a/data/registry/collector-processor-span.yml +++ b/data/registry/collector-processor-span.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-sumologic.yml b/data/registry/collector-processor-sumologic.yml index 253933040d9b..73938331a813 100644 --- a/data/registry/collector-processor-sumologic.yml +++ b/data/registry/collector-processor-sumologic.yml @@ -20,4 +20,4 @@ createdAt: 2023-12-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-tail-sampling.yml b/data/registry/collector-processor-tail-sampling.yml index 69c6d7d44c33..bf9499351459 100644 --- a/data/registry/collector-processor-tail-sampling.yml +++ b/data/registry/collector-processor-tail-sampling.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-24 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-processor-transform.yml b/data/registry/collector-processor-transform.yml index 7e89651f0786..01c7e3e36e5a 100644 --- a/data/registry/collector-processor-transform.yml +++ b/data/registry/collector-processor-transform.yml @@ -20,4 +20,4 @@ createdAt: 2022-10-11 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-activedirectoryds.yml b/data/registry/collector-receiver-activedirectoryds.yml index 70391436b849..1a07068be843 100644 --- a/data/registry/collector-receiver-activedirectoryds.yml +++ b/data/registry/collector-receiver-activedirectoryds.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/activedirectorydsreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-aerospike.yml b/data/registry/collector-receiver-aerospike.yml index 4ca57faabec2..cf0a667c6542 100644 --- a/data/registry/collector-receiver-aerospike.yml +++ b/data/registry/collector-receiver-aerospike.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/aerospikereceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-apache.yml b/data/registry/collector-receiver-apache.yml index 9fefbaa44ddc..a23802ebe12b 100644 --- a/data/registry/collector-receiver-apache.yml +++ b/data/registry/collector-receiver-apache.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachereceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-apachespark.yml b/data/registry/collector-receiver-apachespark.yml index 056bc8aec44f..7b2dac7b7df8 100644 --- a/data/registry/collector-receiver-apachespark.yml +++ b/data/registry/collector-receiver-apachespark.yml @@ -19,4 +19,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachesparkreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-aws-ecs-container-metrics.yml b/data/registry/collector-receiver-aws-ecs-container-metrics.yml index e54885890004..3ef0e4e10526 100644 --- a/data/registry/collector-receiver-aws-ecs-container-metrics.yml +++ b/data/registry/collector-receiver-aws-ecs-container-metrics.yml @@ -20,4 +20,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsecscontainermetricsreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-aws-xray.yml b/data/registry/collector-receiver-aws-xray.yml index 3fbc5bda7667..427738b601ec 100644 --- a/data/registry/collector-receiver-aws-xray.yml +++ b/data/registry/collector-receiver-aws-xray.yml @@ -19,4 +19,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsxrayreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-awscloudwatch.yml b/data/registry/collector-receiver-awscloudwatch.yml index 453ec22d2280..f2cc467f3303 100644 --- a/data/registry/collector-receiver-awscloudwatch.yml +++ b/data/registry/collector-receiver-awscloudwatch.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscloudwatchreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-awscloudwatchmetrics.yml b/data/registry/collector-receiver-awscloudwatchmetrics.yml index d530dfe06f83..dc3bf2db48ad 100644 --- a/data/registry/collector-receiver-awscloudwatchmetrics.yml +++ b/data/registry/collector-receiver-awscloudwatchmetrics.yml @@ -20,4 +20,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscloudwatchmetricsreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-awscontainerinsight.yml b/data/registry/collector-receiver-awscontainerinsight.yml index 2a1ce328e1d5..14b6d3949322 100644 --- a/data/registry/collector-receiver-awscontainerinsight.yml +++ b/data/registry/collector-receiver-awscontainerinsight.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscontainerinsightreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-awsfirehose.yml b/data/registry/collector-receiver-awsfirehose.yml index 189b2a34ade8..ea06be754ff0 100644 --- a/data/registry/collector-receiver-awsfirehose.yml +++ b/data/registry/collector-receiver-awsfirehose.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsfirehosereceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-awss3.yml b/data/registry/collector-receiver-awss3.yml index 263d0b99285a..01169896198d 100644 --- a/data/registry/collector-receiver-awss3.yml +++ b/data/registry/collector-receiver-awss3.yml @@ -18,4 +18,4 @@ createdAt: 2024-04-18 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awss3receiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-azureblob.yml b/data/registry/collector-receiver-azureblob.yml index f9e37abe446e..ac774b9ec887 100644 --- a/data/registry/collector-receiver-azureblob.yml +++ b/data/registry/collector-receiver-azureblob.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureblobreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-azureeventhub.yml b/data/registry/collector-receiver-azureeventhub.yml index 2044cba5914d..7ae2c46ab3d0 100644 --- a/data/registry/collector-receiver-azureeventhub.yml +++ b/data/registry/collector-receiver-azureeventhub.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureeventhubreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-azuremonitor.yml b/data/registry/collector-receiver-azuremonitor.yml index 2399814b1ac2..3161ecfde7c4 100644 --- a/data/registry/collector-receiver-azuremonitor.yml +++ b/data/registry/collector-receiver-azuremonitor.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azuremonitorreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-bigip.yml b/data/registry/collector-receiver-bigip.yml index 81852fd477e1..51b187fa1793 100644 --- a/data/registry/collector-receiver-bigip.yml +++ b/data/registry/collector-receiver-bigip.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/bigipreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-carbon.yml b/data/registry/collector-receiver-carbon.yml index 7e8a08a556fe..046ef72c2c9a 100644 --- a/data/registry/collector-receiver-carbon.yml +++ b/data/registry/collector-receiver-carbon.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-chrony.yml b/data/registry/collector-receiver-chrony.yml index 4d66c127c2d8..98c82d9ae475 100644 --- a/data/registry/collector-receiver-chrony.yml +++ b/data/registry/collector-receiver-chrony.yml @@ -18,4 +18,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/chronyreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-cloudflare.yml b/data/registry/collector-receiver-cloudflare.yml index 13f6428d7ba6..c64fb59c122b 100644 --- a/data/registry/collector-receiver-cloudflare.yml +++ b/data/registry/collector-receiver-cloudflare.yml @@ -18,4 +18,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudflarereceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-cloudfoundry.yml b/data/registry/collector-receiver-cloudfoundry.yml index 1b18ef714dc2..f6432763fc7b 100644 --- a/data/registry/collector-receiver-cloudfoundry.yml +++ b/data/registry/collector-receiver-cloudfoundry.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudfoundryreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-collectd.yml b/data/registry/collector-receiver-collectd.yml index 15023c882db9..00cf6e49f2cd 100644 --- a/data/registry/collector-receiver-collectd.yml +++ b/data/registry/collector-receiver-collectd.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/collectdreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-couchdb.yml b/data/registry/collector-receiver-couchdb.yml index 3e1bdd8bed8d..2a00706b03a3 100644 --- a/data/registry/collector-receiver-couchdb.yml +++ b/data/registry/collector-receiver-couchdb.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/couchdbreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-datadog.yml b/data/registry/collector-receiver-datadog.yml index de25523391fb..f7dfe877b427 100644 --- a/data/registry/collector-receiver-datadog.yml +++ b/data/registry/collector-receiver-datadog.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/datadogreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-docker-stats.yml b/data/registry/collector-receiver-docker-stats.yml index 9478edd09fa2..cbc644c4ba50 100644 --- a/data/registry/collector-receiver-docker-stats.yml +++ b/data/registry/collector-receiver-docker-stats.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-elasticsearch.yml b/data/registry/collector-receiver-elasticsearch.yml index 7092123084fc..b7bc962dfd8d 100644 --- a/data/registry/collector-receiver-elasticsearch.yml +++ b/data/registry/collector-receiver-elasticsearch.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-expvar.yml b/data/registry/collector-receiver-expvar.yml index 730b95aa2953..6e875dc0c172 100644 --- a/data/registry/collector-receiver-expvar.yml +++ b/data/registry/collector-receiver-expvar.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/expvarreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-filelog.yml b/data/registry/collector-receiver-filelog.yml index 6c184bc5c0df..f975da81a1f0 100644 --- a/data/registry/collector-receiver-filelog.yml +++ b/data/registry/collector-receiver-filelog.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-filestats.yml b/data/registry/collector-receiver-filestats.yml index 3fb1efca6406..ee3e5d776b33 100644 --- a/data/registry/collector-receiver-filestats.yml +++ b/data/registry/collector-receiver-filestats.yml @@ -18,4 +18,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filestatsreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-flinkmetrics.yml b/data/registry/collector-receiver-flinkmetrics.yml index 750dd28efa54..f2f87a008764 100644 --- a/data/registry/collector-receiver-flinkmetrics.yml +++ b/data/registry/collector-receiver-flinkmetrics.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/flinkmetricsreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-fluent-forward.yml b/data/registry/collector-receiver-fluent-forward.yml index f875a0913aad..cf78bd190174 100644 --- a/data/registry/collector-receiver-fluent-forward.yml +++ b/data/registry/collector-receiver-fluent-forward.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-gitprovider.yml b/data/registry/collector-receiver-gitprovider.yml index be580e3ecf34..e4c6d2b33f62 100644 --- a/data/registry/collector-receiver-gitprovider.yml +++ b/data/registry/collector-receiver-gitprovider.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/gitproviderreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-googlecloudpubsub.yml b/data/registry/collector-receiver-googlecloudpubsub.yml index bef62c8b5bce..fadcc07a41f8 100644 --- a/data/registry/collector-receiver-googlecloudpubsub.yml +++ b/data/registry/collector-receiver-googlecloudpubsub.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudpubsubreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-googlecloudspanner.yml b/data/registry/collector-receiver-googlecloudspanner.yml index 7fcdc4c18946..d26a927e8bad 100644 --- a/data/registry/collector-receiver-googlecloudspanner.yml +++ b/data/registry/collector-receiver-googlecloudspanner.yml @@ -17,4 +17,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudspannerreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-haproxy.yml b/data/registry/collector-receiver-haproxy.yml index bbc93258b0eb..d0637cfb6306 100644 --- a/data/registry/collector-receiver-haproxy.yml +++ b/data/registry/collector-receiver-haproxy.yml @@ -18,4 +18,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/haproxyreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-host-metrics.yml b/data/registry/collector-receiver-host-metrics.yml index af8809cd6b16..38e92aed096e 100644 --- a/data/registry/collector-receiver-host-metrics.yml +++ b/data/registry/collector-receiver-host-metrics.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-httpcheck.yml b/data/registry/collector-receiver-httpcheck.yml index 6f3a77793dab..221d59954676 100644 --- a/data/registry/collector-receiver-httpcheck.yml +++ b/data/registry/collector-receiver-httpcheck.yml @@ -19,4 +19,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-iis.yml b/data/registry/collector-receiver-iis.yml index d73b92e854c4..74d6e9d5759f 100644 --- a/data/registry/collector-receiver-iis.yml +++ b/data/registry/collector-receiver-iis.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/iisreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-influxdb.yml b/data/registry/collector-receiver-influxdb.yml index 8deaf91156b1..53fa8e36a8d5 100644 --- a/data/registry/collector-receiver-influxdb.yml +++ b/data/registry/collector-receiver-influxdb.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-jaeger.yml b/data/registry/collector-receiver-jaeger.yml index 9dcbdfed3c48..aa47fbb13a00 100644 --- a/data/registry/collector-receiver-jaeger.yml +++ b/data/registry/collector-receiver-jaeger.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-jmx.yml b/data/registry/collector-receiver-jmx.yml index 744fab1dcd37..72ab4222d4d8 100644 --- a/data/registry/collector-receiver-jmx.yml +++ b/data/registry/collector-receiver-jmx.yml @@ -19,4 +19,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-journald.yml b/data/registry/collector-receiver-journald.yml index 4aa94abcd55a..425c2d174767 100644 --- a/data/registry/collector-receiver-journald.yml +++ b/data/registry/collector-receiver-journald.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/journaldreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-k8s-cluster.yml b/data/registry/collector-receiver-k8s-cluster.yml index c5da87763bdc..d59f25fb365e 100644 --- a/data/registry/collector-receiver-k8s-cluster.yml +++ b/data/registry/collector-receiver-k8s-cluster.yml @@ -20,4 +20,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-k8sevents.yml b/data/registry/collector-receiver-k8sevents.yml index a2ebca903107..a782abc708c6 100644 --- a/data/registry/collector-receiver-k8sevents.yml +++ b/data/registry/collector-receiver-k8sevents.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8seventsreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-k8sobjects.yml b/data/registry/collector-receiver-k8sobjects.yml index e894fdd76744..0d3683c397de 100644 --- a/data/registry/collector-receiver-k8sobjects.yml +++ b/data/registry/collector-receiver-k8sobjects.yml @@ -18,4 +18,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-kafka.yml b/data/registry/collector-receiver-kafka.yml index 904b1a022d39..8f42ad8dfc90 100644 --- a/data/registry/collector-receiver-kafka.yml +++ b/data/registry/collector-receiver-kafka.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-kafkametrics.yml b/data/registry/collector-receiver-kafkametrics.yml index 6b12510e8933..3c9f9071d10e 100644 --- a/data/registry/collector-receiver-kafkametrics.yml +++ b/data/registry/collector-receiver-kafkametrics.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-kubelet-stats.yml b/data/registry/collector-receiver-kubelet-stats.yml index a01902697bc6..d6bbc28d961a 100644 --- a/data/registry/collector-receiver-kubelet-stats.yml +++ b/data/registry/collector-receiver-kubelet-stats.yml @@ -19,4 +19,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-loki.yml b/data/registry/collector-receiver-loki.yml index c67a44957d1c..f2a530b6bd54 100644 --- a/data/registry/collector-receiver-loki.yml +++ b/data/registry/collector-receiver-loki.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/lokireceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-memcached.yml b/data/registry/collector-receiver-memcached.yml index 1ebfeb52e134..508bbf65e08f 100644 --- a/data/registry/collector-receiver-memcached.yml +++ b/data/registry/collector-receiver-memcached.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-mongodb.yml b/data/registry/collector-receiver-mongodb.yml index e413f4922987..a3e2a7f068db 100644 --- a/data/registry/collector-receiver-mongodb.yml +++ b/data/registry/collector-receiver-mongodb.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-mongodbatlas.yml b/data/registry/collector-receiver-mongodbatlas.yml index 04662ef306c8..281aa32f7547 100644 --- a/data/registry/collector-receiver-mongodbatlas.yml +++ b/data/registry/collector-receiver-mongodbatlas.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-mysql.yml b/data/registry/collector-receiver-mysql.yml index a4fb73c67b6e..c054c54b8fdc 100644 --- a/data/registry/collector-receiver-mysql.yml +++ b/data/registry/collector-receiver-mysql.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-namedpipe.yml b/data/registry/collector-receiver-namedpipe.yml index 0b6108058eab..a209ca5d80a5 100644 --- a/data/registry/collector-receiver-namedpipe.yml +++ b/data/registry/collector-receiver-namedpipe.yml @@ -18,4 +18,4 @@ createdAt: 2024-01-19 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/namedpipereceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-nginx.yml b/data/registry/collector-receiver-nginx.yml index df06d955e511..3d4f3e0ba8f5 100644 --- a/data/registry/collector-receiver-nginx.yml +++ b/data/registry/collector-receiver-nginx.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-nsxt.yml b/data/registry/collector-receiver-nsxt.yml index dee4e512f59d..6ea8ae63d21a 100644 --- a/data/registry/collector-receiver-nsxt.yml +++ b/data/registry/collector-receiver-nsxt.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nsxtreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-opencensus.yml b/data/registry/collector-receiver-opencensus.yml index 377949141323..831777577912 100644 --- a/data/registry/collector-receiver-opencensus.yml +++ b/data/registry/collector-receiver-opencensus.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-oracledb.yml b/data/registry/collector-receiver-oracledb.yml index 3908a65fdd39..7735abf48f14 100644 --- a/data/registry/collector-receiver-oracledb.yml +++ b/data/registry/collector-receiver-oracledb.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/oracledbreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-osquery.yml b/data/registry/collector-receiver-osquery.yml index 48f2e24eb700..8c116b8421b2 100644 --- a/data/registry/collector-receiver-osquery.yml +++ b/data/registry/collector-receiver-osquery.yml @@ -18,4 +18,4 @@ createdAt: 2024-01-19 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/osqueryreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-otelarrow.yml b/data/registry/collector-receiver-otelarrow.yml index 5011f4a0f6f1..0214d96deb45 100644 --- a/data/registry/collector-receiver-otelarrow.yml +++ b/data/registry/collector-receiver-otelarrow.yml @@ -18,4 +18,4 @@ createdAt: 2024-04-18 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otelarrowreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-otlpjsonfile.yml b/data/registry/collector-receiver-otlpjsonfile.yml index 3cd0b4a882c4..dbe520301d8f 100644 --- a/data/registry/collector-receiver-otlpjsonfile.yml +++ b/data/registry/collector-receiver-otlpjsonfile.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otlpjsonfilereceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-podman.yml b/data/registry/collector-receiver-podman.yml index 5206eed63c54..cd0953cd3d22 100644 --- a/data/registry/collector-receiver-podman.yml +++ b/data/registry/collector-receiver-podman.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/podmanreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-postgresql.yml b/data/registry/collector-receiver-postgresql.yml index 806cdfe0b238..c474d5ef247f 100644 --- a/data/registry/collector-receiver-postgresql.yml +++ b/data/registry/collector-receiver-postgresql.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/postgresqlreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-prometheus.yml b/data/registry/collector-receiver-prometheus.yml index 063d8d6f25af..69461b6bc6ae 100644 --- a/data/registry/collector-receiver-prometheus.yml +++ b/data/registry/collector-receiver-prometheus.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-pulsar.yml b/data/registry/collector-receiver-pulsar.yml index 1a2af2c234c7..e0cab60a5a73 100644 --- a/data/registry/collector-receiver-pulsar.yml +++ b/data/registry/collector-receiver-pulsar.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/pulsarreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-purefa.yml b/data/registry/collector-receiver-purefa.yml index 6024e3ec76f2..8b6f02a94285 100644 --- a/data/registry/collector-receiver-purefa.yml +++ b/data/registry/collector-receiver-purefa.yml @@ -18,4 +18,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/purefareceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-purefb.yml b/data/registry/collector-receiver-purefb.yml index 7661bb730def..3570a5b299c8 100644 --- a/data/registry/collector-receiver-purefb.yml +++ b/data/registry/collector-receiver-purefb.yml @@ -19,4 +19,4 @@ createdAt: 2023-02-01 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/purefbreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-rabbitmq.yml b/data/registry/collector-receiver-rabbitmq.yml index 10925b26d4d6..8fe564a4d715 100644 --- a/data/registry/collector-receiver-rabbitmq.yml +++ b/data/registry/collector-receiver-rabbitmq.yml @@ -18,4 +18,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/rabbitmqreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-receiver-creator.yml b/data/registry/collector-receiver-receiver-creator.yml index a4f01b7f5812..ec8735d19b27 100644 --- a/data/registry/collector-receiver-receiver-creator.yml +++ b/data/registry/collector-receiver-receiver-creator.yml @@ -19,4 +19,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-redis.yml b/data/registry/collector-receiver-redis.yml index 7e9adde2863b..80ba076d8f99 100644 --- a/data/registry/collector-receiver-redis.yml +++ b/data/registry/collector-receiver-redis.yml @@ -19,4 +19,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-riak.yml b/data/registry/collector-receiver-riak.yml index 7583933a1462..7cdbf0e10743 100644 --- a/data/registry/collector-receiver-riak.yml +++ b/data/registry/collector-receiver-riak.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/riakreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-saphana.yml b/data/registry/collector-receiver-saphana.yml index 0444c5854046..5e5eceb4f23a 100644 --- a/data/registry/collector-receiver-saphana.yml +++ b/data/registry/collector-receiver-saphana.yml @@ -19,4 +19,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/saphanareceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-sapm.yml b/data/registry/collector-receiver-sapm.yml index 8b44f9cc51de..2b8f49fcc226 100644 --- a/data/registry/collector-receiver-sapm.yml +++ b/data/registry/collector-receiver-sapm.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-signalfx.yml b/data/registry/collector-receiver-signalfx.yml index f1c787ae6219..515cb49915eb 100644 --- a/data/registry/collector-receiver-signalfx.yml +++ b/data/registry/collector-receiver-signalfx.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-simple-prometheus.yml b/data/registry/collector-receiver-simple-prometheus.yml index 4defba84b384..6d5a0d0579fe 100644 --- a/data/registry/collector-receiver-simple-prometheus.yml +++ b/data/registry/collector-receiver-simple-prometheus.yml @@ -19,4 +19,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/simpleprometheusreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-skywalking.yml b/data/registry/collector-receiver-skywalking.yml index fd1210fd9cfb..adccef9b345a 100644 --- a/data/registry/collector-receiver-skywalking.yml +++ b/data/registry/collector-receiver-skywalking.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/skywalkingreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-snmp.yml b/data/registry/collector-receiver-snmp.yml index 4e465b29deec..a18c0aa65782 100644 --- a/data/registry/collector-receiver-snmp.yml +++ b/data/registry/collector-receiver-snmp.yml @@ -19,4 +19,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snmpreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-snowflake.yml b/data/registry/collector-receiver-snowflake.yml index 61b65d9ac990..e8b79c533bdb 100644 --- a/data/registry/collector-receiver-snowflake.yml +++ b/data/registry/collector-receiver-snowflake.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snowflakereceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-solace.yml b/data/registry/collector-receiver-solace.yml index 73e21979845f..a3b4dd4da4d1 100644 --- a/data/registry/collector-receiver-solace.yml +++ b/data/registry/collector-receiver-solace.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/solacereceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-splunk-hec.yml b/data/registry/collector-receiver-splunk-hec.yml index f5335954af54..647d2d709bd5 100644 --- a/data/registry/collector-receiver-splunk-hec.yml +++ b/data/registry/collector-receiver-splunk-hec.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkhecreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-splunkenterprise.yml b/data/registry/collector-receiver-splunkenterprise.yml index 7f11de76106d..1f8abd441fdf 100644 --- a/data/registry/collector-receiver-splunkenterprise.yml +++ b/data/registry/collector-receiver-splunkenterprise.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkenterprisereceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-sqlquery.yml b/data/registry/collector-receiver-sqlquery.yml index 41485a2ba5e0..c1550069f176 100644 --- a/data/registry/collector-receiver-sqlquery.yml +++ b/data/registry/collector-receiver-sqlquery.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlqueryreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-sqlserver.yml b/data/registry/collector-receiver-sqlserver.yml index a3069103baa7..e26714b5a431 100644 --- a/data/registry/collector-receiver-sqlserver.yml +++ b/data/registry/collector-receiver-sqlserver.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlserverreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-sshcheck.yml b/data/registry/collector-receiver-sshcheck.yml index 38b2e5c92b27..564613520909 100644 --- a/data/registry/collector-receiver-sshcheck.yml +++ b/data/registry/collector-receiver-sshcheck.yml @@ -19,4 +19,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sshcheckreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-statsd.yml b/data/registry/collector-receiver-statsd.yml index 12873f9df28a..020cc0e469b8 100644 --- a/data/registry/collector-receiver-statsd.yml +++ b/data/registry/collector-receiver-statsd.yml @@ -17,4 +17,4 @@ createdAt: 2020-06-06 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-syslog.yml b/data/registry/collector-receiver-syslog.yml index 38d0d2829cc9..01a466b7b38a 100644 --- a/data/registry/collector-receiver-syslog.yml +++ b/data/registry/collector-receiver-syslog.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-tcplog.yml b/data/registry/collector-receiver-tcplog.yml index 83550fc18902..508a4c138188 100644 --- a/data/registry/collector-receiver-tcplog.yml +++ b/data/registry/collector-receiver-tcplog.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-udplog.yml b/data/registry/collector-receiver-udplog.yml index f549eb502fcc..0271c4bb813b 100644 --- a/data/registry/collector-receiver-udplog.yml +++ b/data/registry/collector-receiver-udplog.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-vcenter.yml b/data/registry/collector-receiver-vcenter.yml index 72a8b297386d..a11b92653bcc 100644 --- a/data/registry/collector-receiver-vcenter.yml +++ b/data/registry/collector-receiver-vcenter.yml @@ -18,4 +18,4 @@ createdAt: 2020-11-05 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-wavefront.yml b/data/registry/collector-receiver-wavefront.yml index 1fab186ca35f..3ba344555ef5 100644 --- a/data/registry/collector-receiver-wavefront.yml +++ b/data/registry/collector-receiver-wavefront.yml @@ -16,4 +16,4 @@ createdAt: 2020-06-06 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-webhookevent.yml b/data/registry/collector-receiver-webhookevent.yml index a71cc29453b6..e5db9d50ff57 100644 --- a/data/registry/collector-receiver-webhookevent.yml +++ b/data/registry/collector-receiver-webhookevent.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-windows-perf-counters.yml b/data/registry/collector-receiver-windows-perf-counters.yml index ea0d1e7ad871..f705e7ecf4a1 100644 --- a/data/registry/collector-receiver-windows-perf-counters.yml +++ b/data/registry/collector-receiver-windows-perf-counters.yml @@ -19,4 +19,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-windowseventlog.yml b/data/registry/collector-receiver-windowseventlog.yml index 7b85a3b720bb..1d7ae2bb0c07 100644 --- a/data/registry/collector-receiver-windowseventlog.yml +++ b/data/registry/collector-receiver-windowseventlog.yml @@ -18,4 +18,4 @@ createdAt: 2022-10-25 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/collector-receiver-zipkin.yml b/data/registry/collector-receiver-zipkin.yml index fa1c44d328e7..920dd406355e 100644 --- a/data/registry/collector-receiver-zipkin.yml +++ b/data/registry/collector-receiver-zipkin.yml @@ -13,7 +13,7 @@ authors: package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver - version: v0.102.0 + version: v0.103.0 urls: repo: https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/zipkinreceiver createdAt: 2020-11-05 diff --git a/data/registry/collector-receiver-zookeeper.yml b/data/registry/collector-receiver-zookeeper.yml index fc0116dbc196..312d362d3dd6 100644 --- a/data/registry/collector-receiver-zookeeper.yml +++ b/data/registry/collector-receiver-zookeeper.yml @@ -18,4 +18,4 @@ createdAt: 2021-02-26 package: registry: go-collector name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver - version: v0.102.0 + version: v0.103.0 diff --git a/data/registry/exporter-ruby-otlp.yml b/data/registry/exporter-ruby-otlp.yml index 2ba42f65c734..9dfb9deb1635 100644 --- a/data/registry/exporter-ruby-otlp.yml +++ b/data/registry/exporter-ruby-otlp.yml @@ -17,4 +17,4 @@ createdAt: 2022-11-07 package: registry: gems name: opentelemetry-exporter-otlp - version: 0.27.0 + version: 0.28.0 From 1d4be955d9ca13e5be955088f9701f0f173deed0 Mon Sep 17 00:00:00 2001 From: Diego Latorre <111526365+diegolatorre116@users.noreply.github.com> Date: Thu, 20 Jun 2024 05:08:32 -0500 Subject: [PATCH 21/34] Delete link that does not belong to the exporters section (#4720) --- content/en/docs/languages/go/exporters.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/content/en/docs/languages/go/exporters.md b/content/en/docs/languages/go/exporters.md index 954b371fc866..3427285a88b8 100644 --- a/content/en/docs/languages/go/exporters.md +++ b/content/en/docs/languages/go/exporters.md @@ -76,9 +76,6 @@ To send trace data to an OTLP endpoint (like the [collector](/docs/collector) or Jaeger >= v1.35.0) you'll want to configure an OTLP exporter that sends to your endpoint. -To learn more on how to use the OTLP HTTP exporter, try the -[otel-collector example](https://github.com/open-telemetry/opentelemetry-go/tree/main/example/otel-collector) - ### OTLP traces over HTTP [`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp) From 8a977193235d169826e6cc337fc51a4676825a8a Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Thu, 20 Jun 2024 12:08:56 +0200 Subject: [PATCH 22/34] add a base page for go zero code instrumentation (#4718) Signed-off-by: svrnm --- .github/CODEOWNERS | 1 + .github/component-label-map.yml | 1 + .../en/docs/concepts/instrumentation/zero-code.md | 1 + content/en/docs/zero-code/go.md | 13 +++++++++++++ 4 files changed, 16 insertions(+) create mode 100644 content/en/docs/zero-code/go.md diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 61652c5d7ba7..1c2d9786cad3 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -41,6 +41,7 @@ content/en/docs/languages/rust/ @open-telemetry/docs-approvers @open-te content/en/docs/languages/swift/ @open-telemetry/docs-approvers @open-telemetry/swift-approvers content/en/docs/security/ @open-telemetry/docs-approvers @open-telemetry/sig-security-maintainers content/en/docs/specs/ @open-telemetry/docs-approvers @open-telemetry/specs-approvers +content/en/docs/zero-code/go @open-telemetry/docs-approvers @open-telemetry/go-approvers @open-telemetry/go-instrumentation-approvers content/en/docs/zero-code/java/ @open-telemetry/docs-approvers @open-telemetry/java-approvers @open-telemetry/java-instrumentation-approvers content/en/docs/zero-code/js/ @open-telemetry/docs-approvers @open-telemetry/javascript-approvers content/en/docs/zero-code/net/ @open-telemetry/docs-approvers @open-telemetry/dotnet-approvers @open-telemetry/dotnet-instrumentation-approvers diff --git a/.github/component-label-map.yml b/.github/component-label-map.yml index e1e0116a0080..1b1a7cae663c 100644 --- a/.github/component-label-map.yml +++ b/.github/component-label-map.yml @@ -26,6 +26,7 @@ sig:go: - changed-files: - any-glob-to-any-file: - content/en/docs/languages/go/** + - content/en/docs/zero-code/go/** sig:java: - changed-files: - any-glob-to-any-file: diff --git a/content/en/docs/concepts/instrumentation/zero-code.md b/content/en/docs/concepts/instrumentation/zero-code.md index d35cb56df3ff..6b0d74b6ff9f 100644 --- a/content/en/docs/concepts/instrumentation/zero-code.md +++ b/content/en/docs/concepts/instrumentation/zero-code.md @@ -45,6 +45,7 @@ Other configuration options are available, including: Automatic instrumentation is available for the following languages: - [.NET](/docs/zero-code/net/) +- [Go](/docs/zero-code/go) - [Java](/docs/zero-code/java/) - [JavaScript](/docs/zero-code/js/) - [PHP](/docs/zero-code/php/) diff --git a/content/en/docs/zero-code/go.md b/content/en/docs/zero-code/go.md new file mode 100644 index 000000000000..8a226a28a121 --- /dev/null +++ b/content/en/docs/zero-code/go.md @@ -0,0 +1,13 @@ +--- +title: Go zero-code instrumentation +linkTitle: Go +weight: 16 +--- + +Zero-code instrumentation for Go provides a way to instrument any Go application +and capture telemetry data from many popular libraries and frameworks without +any code changes. + +This project is currently work in progress and you can visit the +[opentelemetry-go-instrumentation repository](https://github.com/open-telemetry/opentelemetry-go-instrumentation/) +to learn more. From 0fb2b474c6bd599d42fce19599332d41261c26a3 Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Fri, 21 Jun 2024 09:24:19 +0200 Subject: [PATCH 23/34] [IA] Move python automatic page to zero-code (#4717) Signed-off-by: svrnm Co-authored-by: Riccardo Magliocchetti --- .github/CODEOWNERS | 1 + content/en/blog/2022/debug-otel-with-otel/index.md | 2 +- content/en/blog/2023/end-user-discussions-03.md | 2 +- content/en/docs/concepts/instrumentation/zero-code.md | 2 +- content/en/docs/kubernetes/operator/automatic.md | 2 +- content/en/docs/languages/python/getting-started.md | 8 ++++---- content/en/docs/languages/python/libraries.md | 2 +- .../python/automatic => zero-code/python}/_index.md | 5 +++-- .../automatic => zero-code/python}/configuration.md | 6 ++++-- .../python/automatic => zero-code/python}/example.md | 1 + .../python/automatic => zero-code/python}/logs-example.md | 1 + .../python/automatic => zero-code/python}/operator.md | 1 + 12 files changed, 20 insertions(+), 13 deletions(-) rename content/en/docs/{languages/python/automatic => zero-code/python}/_index.md (96%) rename content/en/docs/{languages/python/automatic => zero-code/python}/configuration.md (97%) rename content/en/docs/{languages/python/automatic => zero-code/python}/example.md (99%) rename content/en/docs/{languages/python/automatic => zero-code/python}/logs-example.md (99%) rename content/en/docs/{languages/python/automatic => zero-code/python}/operator.md (90%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 1c2d9786cad3..6b090dbe7bc3 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -45,6 +45,7 @@ content/en/docs/zero-code/go @open-telemetry/docs-approvers @open-te content/en/docs/zero-code/java/ @open-telemetry/docs-approvers @open-telemetry/java-approvers @open-telemetry/java-instrumentation-approvers content/en/docs/zero-code/js/ @open-telemetry/docs-approvers @open-telemetry/javascript-approvers content/en/docs/zero-code/net/ @open-telemetry/docs-approvers @open-telemetry/dotnet-approvers @open-telemetry/dotnet-instrumentation-approvers +content/en/docs/zero-code/python/ @open-telemetry/docs-approvers @open-telemetry/python-approvers content/en/docs/zero-code/php/ @open-telemetry/docs-approvers @open-telemetry/php-approvers content/en/ecosystem/demo/ @open-telemetry/demo-approvers @open-telemetry/demo-approvers content/zh/ @open-telemetry/docs-maintainers @open-telemetry/docs-zh-approvers diff --git a/content/en/blog/2022/debug-otel-with-otel/index.md b/content/en/blog/2022/debug-otel-with-otel/index.md index 530842a4f0bf..622f09478107 100644 --- a/content/en/blog/2022/debug-otel-with-otel/index.md +++ b/content/en/blog/2022/debug-otel-with-otel/index.md @@ -261,4 +261,4 @@ COPY opentelemetry_module.conf /etc/nginx/conf.d https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.1 [java]: /docs/zero-code/java/agent/configuration/#capturing-http-request-and-response-headers -[python]: /docs/languages/python/automatic/ +[python]: /docs/zero-code/python/ diff --git a/content/en/blog/2023/end-user-discussions-03.md b/content/en/blog/2023/end-user-discussions-03.md index fd88538c28a7..a7e2b4497c27 100644 --- a/content/en/blog/2023/end-user-discussions-03.md +++ b/content/en/blog/2023/end-user-discussions-03.md @@ -190,7 +190,7 @@ agent to the host metrics receiver for infrastructure monitoring. maturing in OTel; for example, the Java JAR agent takes care of instrumenting [most libraries](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/supported-libraries.md#libraries--frameworks) that are used by applications. Auto-instrumentation is also available for - [Python](/docs/languages/python/automatic/), [.NET](/docs/zero-code/net/), and + [Python](/docs/zero-code/python/), [.NET](/docs/zero-code/net/), and [Node.js](/docs/zero-code/js/). - If you’re using Kubernetes, they can use the [OTel operator](https://github.com/open-telemetry/opentelemetry-operator), diff --git a/content/en/docs/concepts/instrumentation/zero-code.md b/content/en/docs/concepts/instrumentation/zero-code.md index 6b0d74b6ff9f..14a158f40975 100644 --- a/content/en/docs/concepts/instrumentation/zero-code.md +++ b/content/en/docs/concepts/instrumentation/zero-code.md @@ -49,4 +49,4 @@ Automatic instrumentation is available for the following languages: - [Java](/docs/zero-code/java/) - [JavaScript](/docs/zero-code/js/) - [PHP](/docs/zero-code/php/) -- [Python](/docs/languages/python/automatic/) +- [Python](/docs/zero-code/python/) diff --git a/content/en/docs/kubernetes/operator/automatic.md b/content/en/docs/kubernetes/operator/automatic.md index d606c01ed93b..22bd2963d3b2 100644 --- a/content/en/docs/kubernetes/operator/automatic.md +++ b/content/en/docs/kubernetes/operator/automatic.md @@ -404,7 +404,7 @@ spec: #### Learn more {#python-learn-more} -[See the Python agent Configuration docs for more details.](/docs/languages/python/automatic/configuration/#disabling-specific-instrumentations) +[See the Python agent Configuration docs for more details.](/docs/zero-code/python/configuration/#disabling-specific-instrumentations) ### Go diff --git a/content/en/docs/languages/python/getting-started.md b/content/en/docs/languages/python/getting-started.md index 53ac6c716ad4..388261189ea3 100644 --- a/content/en/docs/languages/python/getting-started.md +++ b/content/en/docs/languages/python/getting-started.md @@ -83,9 +83,9 @@ flask run -p 8080 ## Instrumentation -Automatic instrumentation will generate telemetry data on your behalf. There are +Zero-code instrumentation will generate telemetry data on your behalf. There are several options you can take, covered in more detail in -[Automatic Instrumentation](../automatic/). Here we'll use the +[Zero-code Instrumentation](/docs/zero-code/python/). Here we'll use the `opentelemetry-instrument` agent. Install the `opentelemetry-distro` package, which contains the OpenTelemetry @@ -814,8 +814,8 @@ Value: 1 ## Next steps There are several options available for automatic instrumentation and Python. -See [Automatic Instrumentation](../automatic/) to learn about them and how to -configure them. +See [Zero-code Instrumentation](/docs/zero-code/python/) to learn about them and +how to configure them. There's a lot more to manual instrumentation than just creating a child span. To learn details about initializing manual instrumentation and many more parts of diff --git a/content/en/docs/languages/python/libraries.md b/content/en/docs/languages/python/libraries.md index faeade39fc33..dce7cfa23d95 100644 --- a/content/en/docs/languages/python/libraries.md +++ b/content/en/docs/languages/python/libraries.md @@ -104,7 +104,7 @@ You might also want to configure an appropriate exporter to telemetry backends. You can also check the -[automatic instrumentation for Python](/docs/languages/python/automatic). +[Zero-code instrumentation for Python](/docs/zero-code/python/). [opentelemetry-python-contrib]: https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation#readme diff --git a/content/en/docs/languages/python/automatic/_index.md b/content/en/docs/zero-code/python/_index.md similarity index 96% rename from content/en/docs/languages/python/automatic/_index.md rename to content/en/docs/zero-code/python/_index.md index 3e24342ab725..50d2d9a14cfb 100644 --- a/content/en/docs/languages/python/automatic/_index.md +++ b/content/en/docs/zero-code/python/_index.md @@ -1,7 +1,8 @@ --- -title: Automatic Instrumentation -linkTitle: Automatic +title: Python zero-code instrumentation +linkTitle: Python weight: 30 +aliases: [/docs/languages/python/automatic] # prettier-ignore cSpell:ignore: devel distro mkdir myapp pyproject uninstrumented virtualenv Werkzeug --- diff --git a/content/en/docs/languages/python/automatic/configuration.md b/content/en/docs/zero-code/python/configuration.md similarity index 97% rename from content/en/docs/languages/python/automatic/configuration.md rename to content/en/docs/zero-code/python/configuration.md index 11df56fbc064..f0c33f567498 100644 --- a/content/en/docs/languages/python/automatic/configuration.md +++ b/content/en/docs/zero-code/python/configuration.md @@ -2,7 +2,9 @@ title: Agent Configuration linkTitle: Configuration weight: 10 -aliases: [agent-config] +aliases: + - /docs/languages/python/automatic/configuration + - /docs/languages/python/automatic/agent-config # prettier-ignore cSpell:ignore: distro healthcheck mkdir myapp Starlette uninstrumented urllib virtualenv --- @@ -119,7 +121,7 @@ outputted. warning) - `OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED`: to enable auto-instrumentation of logs. Attaches OTLP handler to Python root logger. See - example [here](/docs/languages/python/automatic/logs-example) + example [here](/docs/zero-code/python/logs-example) Examples: diff --git a/content/en/docs/languages/python/automatic/example.md b/content/en/docs/zero-code/python/example.md similarity index 99% rename from content/en/docs/languages/python/automatic/example.md rename to content/en/docs/zero-code/python/example.md index d1c087a3f342..f791b02f6551 100644 --- a/content/en/docs/languages/python/automatic/example.md +++ b/content/en/docs/zero-code/python/example.md @@ -2,6 +2,7 @@ title: Auto-Instrumentation Example linkTitle: Example weight: 20 +aliases: [/docs/languages/python/automatic/example] # prettier-ignore cSpell:ignore: distro instrumentor mkdir MSIE Referer Starlette uninstrumented venv werkzeug --- diff --git a/content/en/docs/languages/python/automatic/logs-example.md b/content/en/docs/zero-code/python/logs-example.md similarity index 99% rename from content/en/docs/languages/python/automatic/logs-example.md rename to content/en/docs/zero-code/python/logs-example.md index 7df014946a4e..3bd6076e1f0a 100644 --- a/content/en/docs/languages/python/automatic/logs-example.md +++ b/content/en/docs/zero-code/python/logs-example.md @@ -2,6 +2,7 @@ title: Logs Auto-Instrumentation Example linkTitle: Logs Example weight: 20 +aliases: [/docs/languages/python/automatic/logs-example] # prettier-ignore cSpell:ignore: distro instrumentor mkdir MSIE Referer Starlette uninstrumented virtualenv --- diff --git a/content/en/docs/languages/python/automatic/operator.md b/content/en/docs/zero-code/python/operator.md similarity index 90% rename from content/en/docs/languages/python/automatic/operator.md rename to content/en/docs/zero-code/python/operator.md index 7b17202b59c9..a08fd5e0219d 100644 --- a/content/en/docs/languages/python/automatic/operator.md +++ b/content/en/docs/zero-code/python/operator.md @@ -1,6 +1,7 @@ --- title: Using the OpenTelemetry Operator to Inject Auto-Instrumentation linkTitle: Operator +aliases: [/docs/languages/python/automatic/operator] weight: 30 cSpell:ignore: distro mkdir uninstrumented virtualenv --- From 22821f42a549be12bb46b6242877512f46093564 Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Fri, 21 Jun 2024 16:12:43 +0200 Subject: [PATCH 24/34] Update and fix textlinter (#4728) Signed-off-by: svrnm --- .textlintrc.yml | 4 ++-- content/en/blog/2023/end-user-q-and-a-01.md | 2 +- content/en/docs/collector/management.md | 4 ++-- content/en/docs/demo/_index.md | 2 +- content/en/docs/demo/feature-flags.md | 2 +- content/en/docs/languages/js/serverless.md | 2 +- content/en/docs/languages/php/instrumentation.md | 2 +- content/en/docs/languages/python/_index.md | 4 ++-- content/en/docs/languages/ruby/exporters.md | 2 +- content/en/docs/languages/ruby/getting-started.md | 2 +- package.json | 2 +- 11 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.textlintrc.yml b/.textlintrc.yml index 95125fda5a7d..e70a4a84d709 100644 --- a/.textlintrc.yml +++ b/.textlintrc.yml @@ -8,8 +8,8 @@ filters: enablingComment: prettier-ignore-end allowlist: allow: - # Don't check registry .yml file fields for language, repo and tags: - - '/^\s*(?:language|repo|name|docs): .*$/m' + # Don't check registry .yml file fields for language, repo, url and tags: + - '/^\s*(?:language|repo|name|docs|url): .*$/m' - /^(?:tags):(\s*-.+$)*/m # Hugo template syntax: - /{{.*?}}/ diff --git a/content/en/blog/2023/end-user-q-and-a-01.md b/content/en/blog/2023/end-user-q-and-a-01.md index b0fae1f5b62a..ccb51f0cb0df 100644 --- a/content/en/blog/2023/end-user-q-and-a-01.md +++ b/content/en/blog/2023/end-user-q-and-a-01.md @@ -169,7 +169,7 @@ They are hoping to leverage [OpenTelemetry’s Exemplars](/docs/specs/otel/metrics/data-model/#exemplars) to link traces and metrics. -### How is the organization sending telemetry data to various observability back-ends? +### How is the organization sending telemetry data to various observability backends? J’s team uses a combination of the proprietary backend agent and the OpenTelemetry Collector (for metrics). They are one of the primary users of diff --git a/content/en/docs/collector/management.md b/content/en/docs/collector/management.md index d41987eea02b..7e4a7ce2247b 100644 --- a/content/en/docs/collector/management.md +++ b/content/en/docs/collector/management.md @@ -90,7 +90,7 @@ We will set up a simple OpAMP control plane consisting of an example OpAMP server and let an OpenTelemetry Collector connect to it via an example OpAMP supervisor. -First, clone the `open-telemetry/opamp-go` repo: +First, clone the `open-telemetry/opamp-go` repository: ```sh git clone https://github.com/open-telemetry/opamp-go.git @@ -159,7 +159,7 @@ service: ``` Now it's time to launch the supervisor (which in turn will launch your -OpenTelemetry collector): +OpenTelemetry Collector): ```console $ go run . diff --git a/content/en/docs/demo/_index.md b/content/en/docs/demo/_index.md index f4ed9dd79043..cf0cdf49607c 100644 --- a/content/en/docs/demo/_index.md +++ b/content/en/docs/demo/_index.md @@ -63,7 +63,7 @@ solve them. We'll be adding more scenarios over time. - Generate a [Product Catalog error](feature-flags) for `GetProduct` requests - with product id: `OLJCESPC7Z` using the Feature Flag service + with product ID: `OLJCESPC7Z` using the Feature Flag service - Discover a memory leak and diagnose it using metrics and traces. [Read more](scenarios/recommendation-cache/) diff --git a/content/en/docs/demo/feature-flags.md b/content/en/docs/demo/feature-flags.md index f7a798f4b625..4b9fd1c72999 100644 --- a/content/en/docs/demo/feature-flags.md +++ b/content/en/docs/demo/feature-flags.md @@ -19,7 +19,7 @@ change the `defaultVariant` value in the config file for a given flag to "on". | `adServiceManualGc` | Ad Service | Trigger full manual garbage collections in the ad service | | `adServiceHighCpu` | Ad Service | Trigger high cpu load in the ad service. If you want to demo cpu throttling, set cpu resource limits | | `cartServiceFailure` | Cart Service | Generate an error for `EmptyCart` 1/10th of the time | -| `productCatalogFailure` | Product Catalog | Generate an error for `GetProduct` requests with product id: `OLJCESPC7Z` | +| `productCatalogFailure` | Product Catalog | Generate an error for `GetProduct` requests with product ID: `OLJCESPC7Z` | | `recommendationServiceCacheFailure` | Recommendation | Create a memory leak due to an exponentially growing cache. 1.4x growth, 50% of requests trigger growth. | | `paymentServiceFailure` | Payment Service | Generate an error when calling the `charge` method. | | `paymentServiceUnreachable` | Checkout Service | Use a bad address when calling the PaymentService to make it seem like the PaymentService is unavailable. | diff --git a/content/en/docs/languages/js/serverless.md b/content/en/docs/languages/js/serverless.md index 629d26fe292d..c418b95e00c3 100644 --- a/content/en/docs/languages/js/serverless.md +++ b/content/en/docs/languages/js/serverless.md @@ -25,7 +25,7 @@ If you are interested in a plug and play user experience, see ### Dependencies -First, create an empty package.json: +First, create an empty `package.json`: ```sh npm init -y diff --git a/content/en/docs/languages/php/instrumentation.md b/content/en/docs/languages/php/instrumentation.md index f4e70fbfd8b5..a983898532c8 100644 --- a/content/en/docs/languages/php/instrumentation.md +++ b/content/en/docs/languages/php/instrumentation.md @@ -690,7 +690,7 @@ See [Exporters](/docs/languages/php/exporters) OpenTelemetry can be used to measure and record different types of metrics from an application, which can then be [pushed](/docs/specs/otel/metrics/sdk/#push-metric-exporter) to a metrics -service such as the OpenTelemetry collector: +service such as the OpenTelemetry Collector: - counter - async counter diff --git a/content/en/docs/languages/python/_index.md b/content/en/docs/languages/python/_index.md index 08ed02503454..072d7c3cfcad 100644 --- a/content/en/docs/languages/python/_index.md +++ b/content/en/docs/languages/python/_index.md @@ -61,8 +61,8 @@ pip install -e ./opentelemetry-sdk ## Repositories and benchmarks -- Main repo: [opentelemetry-python][] -- Contrib repo: [opentelemetry-python-contrib][] +- Main repository: [opentelemetry-python][] +- Contrib repository: [opentelemetry-python-contrib][] [opentelemetry-python]: https://github.com/open-telemetry/opentelemetry-python [opentelemetry-python-contrib]: diff --git a/content/en/docs/languages/ruby/exporters.md b/content/en/docs/languages/ruby/exporters.md index f5dd3779ec6e..42099925237d 100644 --- a/content/en/docs/languages/ruby/exporters.md +++ b/content/en/docs/languages/ruby/exporters.md @@ -115,7 +115,7 @@ end ``` If you now run your application, set the environment variable -`OTEL_TRACES_EXPORTER` to zipkin: +`OTEL_TRACES_EXPORTER` to Zipkin: ```sh env OTEL_TRACES_EXPORTER=zipkin rails server diff --git a/content/en/docs/languages/ruby/getting-started.md b/content/en/docs/languages/ruby/getting-started.md index 16430e6a8f6f..1839617fe3a1 100644 --- a/content/en/docs/languages/ruby/getting-started.md +++ b/content/en/docs/languages/ruby/getting-started.md @@ -34,7 +34,7 @@ For more elaborate examples, see [examples](/docs/languages/ruby/examples/). ### Dependencies -To begin, install rails: +To begin, install Rails: ```sh gem install rails diff --git a/package.json b/package.json index e07bc6d524f1..af4ab40adbc6 100644 --- a/package.json +++ b/package.json @@ -115,7 +115,7 @@ "textlint": "^14.0.4", "textlint-filter-rule-allowlist": "^4.0.0", "textlint-filter-rule-comments": "^1.2.2", - "textlint-rule-terminology": "^5.0.10", + "textlint-rule-terminology": "^5.0.15", "through2": "^4.0.2", "yargs": "^17.7.2" }, From a47ab10d1ab3631d9797fbc81bfcab47867f3f38 Mon Sep 17 00:00:00 2001 From: Yoshi Yamaguchi Date: Fri, 21 Jun 2024 23:19:11 +0900 Subject: [PATCH 25/34] [ja] translate OpenTelemetry primer (#4694) --- content/ja/docs/concepts/_index.md | 11 ++ .../ja/docs/concepts/observability-primer.md | 118 ++++++++++++++++++ 2 files changed, 129 insertions(+) create mode 100644 content/ja/docs/concepts/_index.md create mode 100644 content/ja/docs/concepts/observability-primer.md diff --git a/content/ja/docs/concepts/_index.md b/content/ja/docs/concepts/_index.md new file mode 100644 index 000000000000..a624699333d7 --- /dev/null +++ b/content/ja/docs/concepts/_index.md @@ -0,0 +1,11 @@ +--- +title: OpenTelemetryの概念 +linkTitle: 概念 +description: OpenTelemetryの重要概念 +aliases: [concepts/overview] +weight: 170 +default_lang_commit: ebd92bb +--- + +このセクションでは、OpenTelemetryプロジェクトのデータソースと主要な要素について説明します。 +これらのドキュメントを読めば、OpenTelemetryが動作原理について理解できるでしょう。 diff --git a/content/ja/docs/concepts/observability-primer.md b/content/ja/docs/concepts/observability-primer.md new file mode 100644 index 000000000000..5e25387c9f74 --- /dev/null +++ b/content/ja/docs/concepts/observability-primer.md @@ -0,0 +1,118 @@ +--- +title: Observability入門 +description: 重要なオブザーバビリティに関する概念 +weight: 9 +cSpell:ignore: webshop +default_lang_commit: ebd92bb +--- + +## オブザーバビリティとは何か {#what-is-observability} + +オブザーバビリティは、システムの内部構造を知らなくても、そのシステムについて質問することで、システムを外側から理解することを可能にします。 +さらに、真新しい問題、つまり「未知の未知」のトラブルシューティングや対処が容易になります。 +また、「なぜこのようなことが起こるのか」という疑問に答えるのにも役立ちます。 + +システムに関してこれらの質問をするためには、アプリケーションが適切に計装されていなければなりません。 +つまり、アプリケーションのコードは、[トレース](/docs/concepts/signals/traces/)、[メトリクス](/docs/concepts/signals/metrics/)、[ログ](/docs/concepts/signals/logs/)などの[シグナル](/docs/concepts/signals/)を発しなければなりません。 +開発者が問題をトラブルシュートするために計装を追加する必要がないとき、アプリケーションは適切に計装されていると言えます。 +なぜなら開発者が必要な情報をすべて持っているということになるからです。 + +[OpenTelemetry](/docs/what-is-opentelemetry/)は、システムをオブザーバビリティがある状態にするために、アプリケーションコードの計装を手助けする仕組みです。 + +## 信頼性とメトリクス + +**テレメトリー** とは、システムやその動作から送出されるデータのことです。 +データは[トレース](/docs/concepts/signals/traces/)、[メトリクス](/docs/concepts/signals/metrics/)、[ログ](/docs/concepts/signals/logs/)などの形式で得られます。 + +**信頼性** は「サービスがユーザーの期待通りに動いているでしょうか」といった疑問に答えてくれます。 +システムは常に100%稼働していても、ユーザーがショッピングカートに黒い靴を追加するために「カートに追加」をクリックしたときに、システムが常に黒い靴を追加するとは限らない場合、システムは **信頼性がない** と言えるでしょう。 + +**メトリクス** とは、インフラやアプリケーションに関する数値データを一定期間にわたって集計したものです。 +たとえば、システムエラー率、CPU使用率、あるサービスのリクエスト率などです。 +メトリクスとOpenTelemetryとの関係については、[メトリクス](/docs/concepts/signals/metrics/) のページを参照してください。 + +**SLI**(サービスレベル指標)は、サービスの動作の計測値を表します。 +優れたSLIは、ユーザーの視点からサービスを計測します。 +SLIの例として、ウェブページの読み込み速度が挙げられます。 + +**SLO**(サービスレベル目標)は、信頼性を組織や他のチームに伝達する手段を表します。 +これは、1つ以上のSLIをビジネス価値に付加することで達成されます。 + +## 分散トレースを理解する + +分散トレースにより、複雑な分散システムを通してリクエストが伝搬する様子を観察できます。 +分散トレースはアプリケーションやシステムの健全性の可視性を向上させ、ローカルで再現するのが困難な挙動をデバッグできます。 +これは、一般的に非決定論的な問題があったり、ローカルで再現するには複雑すぎる分散システムには不可欠です。 + +分散トレースを理解するには、ログ、スパン、トレースといった各要素の役割を理解する必要があります。 + +### ログ + +**ログ**は、サービスや他のコンポーネントが発するタイムスタンプ付きのメッセージです。 +[トレース](#distributed-traces)とは異なり、ログは必ずしも特定のユーザーリクエストやトランザクションに関連付けられているわけではありません。 +ログは、ソフトウェアのあらゆる場所で見られます。 +ログは、開発者と運用者の両方がシステムの挙動を理解するのに役立つため、これまで大いに利用されてきました。 + +次にあるのはログの例です。 + +```text +I, [2021-02-23T13:26:23.505892 #22473] INFO -- : [6459ffe1-ea53-4044-aaa3-bf902868f730] Started GET "/" for ::1 at 2021-02-23 13:26:23 -0800 +``` + +ログはコードの実行を追跡するには十分ではありません。 +ログには通常、どこから呼び出されたかといったコンテキスト情報が欠けているからです。 + +ログは、[スパン](#span)の一部として含まれるとき、あるいはトレースやスパンと相関があるときに、はるかに有用になります。 + +ログの詳細とOpenTelemetryとの関係については、[ログ](/docs/concepts/signals/logs/)のページを参照してください。 + +### スパン {#span} + +**スパン** は作業または操作の単位を表します。 +スパンは、リクエストが行う特定の操作を追跡し、その操作が実行された時間に何が起こったかを説明してくれます。 + +スパンには、名前、時間関連データ、[構造化ログメッセージ](/docs/concepts/signals/traces/#span-events)、[その他のメタデータ(つまり属性)](/docs/concepts/signals/traces/#attributes)が含まれ、追跡する操作に関する情報を提供します。 + +#### スパン属性 + +スパン属性はスパンに紐づけられたメタデータです。 + +次の表はスパン属性の例を列挙しています。 + +| キー | 値 | +| :-------------------------- | :--------------------------------------------------------------------------------- | +| `http.request.method` | `"GET"` | +| `network.protocol.version` | `"1.1"` | +| `url.path` | `"/webshop/articles/4"` | +| `url.query` | `"?s=1"` | +| `server.address` | `"example.com"` | +| `server.port` | `8080` | +| `url.scheme` | `"https"` | +| `http.route` | `"/webshop/articles/:article_id"` | +| `http.response.status_code` | `200` | +| `client.address` | `"192.0.2.4"` | +| `client.socket.address` | `"192.0.2.5"` (クライアントはプロキシ経由) | +| `user_agent.original` | `"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0"` | + +スパンと OpenTelemetry との関係については、[スパン](/docs/concepts/signals/traces/#spans)の節を参照してください。 + +### 分散トレース {#distributed-traces} + +一般的に**トレース**として知られている**分散トレース**は、マイクロサービスやサーバーレスアプリケーションのようなマルチサービスアーキテクチャを伝播するリクエスト(アプリケーションまたはエンドユーザーによって行われる)が辿った経路を記録します。 + +トレースは1つ以上のスパンで構成されるます。 +最初のスパンはルートスパンを表します。 +各ルートスパンは、リクエストの開始から終了までを表します。 +親の下にあるスパンは、リクエスト中に発生すること(またはリクエストを構成するステップ)について、より詳細なコンテキストを提供します。 + +トレースなしでは、分散システムのパフォーマンス問題の根本的な原因を見つけることは困難です。 +トレースは、分散システムを流れるリクエストの中で何が起こっているのかを分解することで、分散システムのデバッグと理解をしやすくします。 + +多くのオブザーバビリティバックエンドは、トレースをこのようなウォーターフォール図として視覚化しています。 + +![トレースの例](/img/waterfall-trace.svg 'トレースのウォーターフォール図') + +ウォーターフォール図は、ルートスパンとその子スパンの親子関係を示しています。 +スパンが別のスパンを含む場合も、入れ子関係を表します。 + +トレースとOpenTelemetryとの関係については、[トレース](/docs/concepts/signals/traces/)のページを参照してください。 From 84946567f39c26964b9b81497652d8ba23a278c3 Mon Sep 17 00:00:00 2001 From: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Date: Sat, 22 Jun 2024 14:40:01 +0200 Subject: [PATCH 26/34] Auto-update registry versions (2def409ec4c2dd6fb8f31aef2b3bc75588ff089b) (#4732) --- data/registry/exporter-dotnet-geneva.yml | 2 +- data/registry/exporter-js-instana.yml | 2 +- data/registry/exporter-js-jaeger.yml | 2 +- data/registry/exporter-js-prometheus.yml | 2 +- data/registry/exporter-js-zipkin.yml | 2 +- data/registry/instrumentation-js-fetch.yml | 2 +- data/registry/instrumentation-js-grpc.yml | 2 +- data/registry/instrumentation-js-http.yml | 2 +- data/registry/instrumentation-js-xml-http-request.yml | 2 +- data/registry/instrumentation-ruby-active-support.yml | 2 +- data/registry/instrumentation-ruby-faraday.yml | 2 +- data/registry/tools-ruby-rspec-matcher.yml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/data/registry/exporter-dotnet-geneva.yml b/data/registry/exporter-dotnet-geneva.yml index 965616a2e946..d6fc51aacfcf 100644 --- a/data/registry/exporter-dotnet-geneva.yml +++ b/data/registry/exporter-dotnet-geneva.yml @@ -17,4 +17,4 @@ createdAt: 2022-11-07 package: registry: nuget name: OpenTelemetry.Exporter.Geneva - version: 1.9.0-rc.2 + version: 1.9.0 diff --git a/data/registry/exporter-js-instana.yml b/data/registry/exporter-js-instana.yml index 02131f53f727..be3dfc02192a 100644 --- a/data/registry/exporter-js-instana.yml +++ b/data/registry/exporter-js-instana.yml @@ -15,4 +15,4 @@ createdAt: 2022-04-18 package: registry: npm name: '@instana/opentelemetry-exporter' - version: 3.11.0 + version: 3.12.0 diff --git a/data/registry/exporter-js-jaeger.yml b/data/registry/exporter-js-jaeger.yml index b6be8fe367f9..70e839eac0d0 100644 --- a/data/registry/exporter-js-jaeger.yml +++ b/data/registry/exporter-js-jaeger.yml @@ -14,4 +14,4 @@ createdAt: 2020-02-06 package: registry: npm name: '@opentelemetry/exporter-jaeger' - version: 1.25.0 + version: 1.25.1 diff --git a/data/registry/exporter-js-prometheus.yml b/data/registry/exporter-js-prometheus.yml index 342b5e39490f..a886b2e20509 100644 --- a/data/registry/exporter-js-prometheus.yml +++ b/data/registry/exporter-js-prometheus.yml @@ -14,4 +14,4 @@ createdAt: 2020-02-06 package: registry: npm name: '@opentelemetry/exporter-prometheus' - version: 0.52.0 + version: 0.52.1 diff --git a/data/registry/exporter-js-zipkin.yml b/data/registry/exporter-js-zipkin.yml index 7e5080ed8321..62ba4b872fc9 100644 --- a/data/registry/exporter-js-zipkin.yml +++ b/data/registry/exporter-js-zipkin.yml @@ -11,7 +11,7 @@ authors: package: name: '@opentelemetry/exporter-zipkin' registry: npm - version: 1.25.0 + version: 1.25.1 urls: repo: https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-exporter-zipkin docs: /docs/languages/js/exporters/#zipkin diff --git a/data/registry/instrumentation-js-fetch.yml b/data/registry/instrumentation-js-fetch.yml index c69af40c0f6d..37ab7cd5e00a 100644 --- a/data/registry/instrumentation-js-fetch.yml +++ b/data/registry/instrumentation-js-fetch.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-fetch' - version: 0.52.0 + version: 0.52.1 diff --git a/data/registry/instrumentation-js-grpc.yml b/data/registry/instrumentation-js-grpc.yml index 58c2f88235bb..376785ac50ad 100644 --- a/data/registry/instrumentation-js-grpc.yml +++ b/data/registry/instrumentation-js-grpc.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-grpc' - version: 0.52.0 + version: 0.52.1 diff --git a/data/registry/instrumentation-js-http.yml b/data/registry/instrumentation-js-http.yml index 898bf5ee9d02..d744c467139a 100644 --- a/data/registry/instrumentation-js-http.yml +++ b/data/registry/instrumentation-js-http.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-http' - version: 0.52.0 + version: 0.52.1 diff --git a/data/registry/instrumentation-js-xml-http-request.yml b/data/registry/instrumentation-js-xml-http-request.yml index b54edb78457c..830803d40f93 100644 --- a/data/registry/instrumentation-js-xml-http-request.yml +++ b/data/registry/instrumentation-js-xml-http-request.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-xml-http-request' - version: 0.52.0 + version: 0.52.1 diff --git a/data/registry/instrumentation-ruby-active-support.yml b/data/registry/instrumentation-ruby-active-support.yml index a9a3490a88c4..f33c7a0db5c4 100644 --- a/data/registry/instrumentation-ruby-active-support.yml +++ b/data/registry/instrumentation-ruby-active-support.yml @@ -15,4 +15,4 @@ createdAt: 2020-11-09 package: registry: gems name: opentelemetry-instrumentation-active_support - version: 0.5.1 + version: 0.5.3 diff --git a/data/registry/instrumentation-ruby-faraday.yml b/data/registry/instrumentation-ruby-faraday.yml index 104333205afa..c1446b72da40 100644 --- a/data/registry/instrumentation-ruby-faraday.yml +++ b/data/registry/instrumentation-ruby-faraday.yml @@ -15,4 +15,4 @@ createdAt: 2020-11-09 package: registry: gems name: opentelemetry-instrumentation-faraday - version: 0.24.4 + version: 0.24.5 diff --git a/data/registry/tools-ruby-rspec-matcher.yml b/data/registry/tools-ruby-rspec-matcher.yml index 5b3f49cc26f3..79b33c894563 100644 --- a/data/registry/tools-ruby-rspec-matcher.yml +++ b/data/registry/tools-ruby-rspec-matcher.yml @@ -18,4 +18,4 @@ createdAt: 2024-02-13 package: registry: gems name: rspec-otel - version: 0.0.2 + version: 0.0.3 From 9218cac655e0438e1d08fb1037a9a7bb6f8c2b7d Mon Sep 17 00:00:00 2001 From: Tiffany Hrabusa <30397949+tiffany76@users.noreply.github.com> Date: Sat, 22 Jun 2024 15:03:23 -0700 Subject: [PATCH 27/34] Add section on null maps to troubleshooting page (#4731) --- content/en/docs/collector/troubleshooting.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/content/en/docs/collector/troubleshooting.md b/content/en/docs/collector/troubleshooting.md index e48030b648fb..2483bddb0058 100644 --- a/content/en/docs/collector/troubleshooting.md +++ b/content/en/docs/collector/troubleshooting.md @@ -2,7 +2,7 @@ title: Troubleshooting description: Recommendations for troubleshooting the Collector weight: 25 -cSpell:ignore: pprof tracez zpages +cSpell:ignore: confmap pprof tracez zpages --- On this page, you can learn how to troubleshoot the health and performance of @@ -359,3 +359,21 @@ container, producing the error message the `NO_WINDOWS_SERVICE=1` environment variable must be set to force the Collector to start as if it were running in an interactive terminal, without attempting to run as a Windows service. + +### Collector is experiencing configuration issues + +The Collector might experience problems due to configuration issues. + +#### Null maps + +During configuration resolution of multiple configs, values in earlier configs +are removed in favor of later configs, even if the later value is null. You can +fix this issue by + +- Using `{}` to represent an empty map, such as `processors: {}` instead of + `processors:`. +- Omitting empty configurations such as `processors:` from the configuration. + +See +[confmap troubleshooting](https://github.com/open-telemetry/opentelemetry-collector/blob/main/confmap/README.md#null-maps) +for more information. From 313e39187146d1d095ae0c267582057f73dbab64 Mon Sep 17 00:00:00 2001 From: Adriana Villela <50256412+avillela@users.noreply.github.com> Date: Sun, 23 Jun 2024 16:48:15 -0400 Subject: [PATCH 28/34] Add TA troubleshooting page (#4708) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Severin Neumann Co-authored-by: Fabrizio Ferri-Benedetti Co-authored-by: Mikołaj Świątek Co-authored-by: Jacob Aronoff Co-authored-by: Phillip Carter --- .../operator/troubleshooting/_index.md | 8 + .../troubleshooting/target-allocator.md | 515 ++++++++++++++++++ static/refcache.json | 12 + 3 files changed, 535 insertions(+) create mode 100644 content/en/docs/kubernetes/operator/troubleshooting/_index.md create mode 100644 content/en/docs/kubernetes/operator/troubleshooting/target-allocator.md diff --git a/content/en/docs/kubernetes/operator/troubleshooting/_index.md b/content/en/docs/kubernetes/operator/troubleshooting/_index.md new file mode 100644 index 000000000000..91f696066c0f --- /dev/null +++ b/content/en/docs/kubernetes/operator/troubleshooting/_index.md @@ -0,0 +1,8 @@ +--- +title: Troubleshooting the OpenTelemetry Operator for Kubernetes +linkTitle: Troubleshooting +description: + Contains a collection of tips for troubleshooting various aspects of the + OpenTelemetry Kubernetes Operator. For example, what to do when the target + allocator is failing to discover scrape targets. +--- diff --git a/content/en/docs/kubernetes/operator/troubleshooting/target-allocator.md b/content/en/docs/kubernetes/operator/troubleshooting/target-allocator.md new file mode 100644 index 000000000000..ea979bece401 --- /dev/null +++ b/content/en/docs/kubernetes/operator/troubleshooting/target-allocator.md @@ -0,0 +1,515 @@ +--- +title: Target Allocator +cSpell:ignore: bleh targetallocator +--- + +If you’ve enabled +[Target Allocator](/docs/kubernetes/operator/target-allocator/) service +discovery on the [OpenTelemetry Operator](/docs/kubernetes/operator), and the +Target Allocator is failing to discover scrape targets, there are a few +troubleshooting steps that you can take to help you understand what’s going on +and restore normal operation. + +## Troubleshooting steps + +### Did you deploy all of your resources to Kubernetes? + +As a first step, make sure that you have deployed all relevant resources to your +Kubernetes cluster. + +### Do you know if metrics are actually being scraped? + +After you’ve deployed all of your resources to Kubernetes, make sure that the +Target Allocator is discovering scrape targets from your +[`ServiceMonitor`](https://prometheus-operator.dev/docs/operator/design/#servicemonitor)(s) +or +[`PodMonitor`](https://prometheus-operator.dev/docs/user-guides/getting-started/#using-podmonitors)(s). + +Suppose that you have this `ServiceMonitor` definition: + +```yaml +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: sm-example + namespace: opentelemetry + labels: + app.kubernetes.io/name: py-prometheus-app + release: prometheus +spec: + selector: + matchLabels: + app: my-app + namespaceSelector: + matchNames: + - opentelemetry + endpoints: + - port: prom + path: /metrics + - port: py-client-port + interval: 15s + - port: py-server-port +``` + +this `Service` definition: + +```yaml +apiVersion: v1 +kind: Service +metadata: + name: py-prometheus-app + namespace: opentelemetry + labels: + app: my-app + app.kubernetes.io/name: py-prometheus-app +spec: + selector: + app: my-app + app.kubernetes.io/name: py-prometheus-app + ports: + - name: prom + port: 8080 +``` + +and this `OpenTelemetryCollector` definition: + +```yaml +apiVersion: opentelemetry.io/v1beta1 +kind: OpenTelemetryCollector +metadata: + name: otelcol + namespace: opentelemetry +spec: + mode: statefulset + targetAllocator: + enabled: true + serviceAccount: opentelemetry-targetallocator-sa + prometheusCR: + enabled: true + podMonitorSelector: {} + serviceMonitorSelector: {} + config: + receivers: + otlp: + protocols: + grpc: {} + http: {} + prometheus: + config: + scrape_configs: + - job_name: 'otel-collector' + scrape_interval: 10s + static_configs: + - targets: ['0.0.0.0:8888'] + + processors: + batch: {} + + exporters: + logging: + verbosity: detailed + + service: + pipelines: + traces: + receivers: [otlp] + processors: [batch] + exporters: [logging] + metrics: + receivers: [otlp, prometheus] + processors: [] + exporters: [logging] + logs: + receivers: [otlp] + processors: [batch] + exporters: [logging] +``` + +First, set up a `port-forward` in Kubernetes, so that you can expose the Target +Allocator service: + +```shell +kubectl port-forward svc/otelcol-targetallocator -n opentelemetry 8080:80 +``` + +Where `otelcol-targetallocator` is the value of `metadata.name` in your +`OpenTelemetryCollector` CR concatenated with the `-targetallocator` suffix, and +`opentelemetry` is the namespace to which the `OpenTelemetryCollector` CR is +deployed. + +{{% alert title="Tip" %}} + +You can also get the service name by running + +```shell +kubectl get svc -l app.kubernetes.io/component=opentelemetry-targetallocator -n +``` + +{{% /alert %}} + +Next, get a list of jobs registered with the Target Allocator: + +```shell +curl localhost:8080/jobs | jq +``` + +Your sample output should look like this: + +```json +{ + "serviceMonitor/opentelemetry/sm-example/1": { + "_link": "/jobs/serviceMonitor%2Fopentelemetry%2Fsm-example%2F1/targets" + }, + "serviceMonitor/opentelemetry/sm-example/2": { + "_link": "/jobs/serviceMonitor%2Fopentelemetry%2Fsm-example%2F2/targets" + }, + "otel-collector": { + "_link": "/jobs/otel-collector/targets" + }, + "serviceMonitor/opentelemetry/sm-example/0": { + "_link": "/jobs/serviceMonitor%2Fopentelemetry%2Fsm-example%2F0/targets" + }, + "podMonitor/opentelemetry/pm-example/0": { + "_link": "/jobs/podMonitor%2Fopentelemetry%2Fpm-example%2F0/targets" + } +} +``` + +Where `serviceMonitor/opentelemetry/sm-example/0` represents one of the +`Service` ports that the `ServiceMonitor`picked up: + +- `opentelemetry` is the namespace in which the `ServiceMonitor` resource + resides. +- `sm-example` is the name of the `ServiceMonitor`. +- `0` is one of the port endpoints matched between the `ServiceMonitor` and the + `Service`. + +Similarly, the `PodMonitor`, shows up as `podMonitor/opentelemetry/pm-example/0` +in the `curl` output. + +This is good news, because it tells us that the scrape config discovery is +working! + +You might also be wondering about the `otel-collector` entry. This is happening +because `spec.config.receivers.prometheusReceiver` in the +`OpenTelemetryCollector` resource (named `otel-collector`) has self-scrape +enabled: + +```yaml +prometheus: + config: + scrape_configs: + - job_name: 'otel-collector' + scrape_interval: 10s + static_configs: + - targets: ['0.0.0.0:8888'] +``` + +We can take a deeper look into `serviceMonitor/opentelemetry/sm-example/0`, to +see what scrape targets are getting picked up by running `curl` against the +value of the `_link` output above: + +```shell +curl localhost:8080/jobs/serviceMonitor%2Fopentelemetry%2Fsm-example%2F0/targets | jq +``` + +Sample output: + +```json +{ + "otelcol-collector-0": { + "_link": "/jobs/serviceMonitor%2Fopentelemetry%2Fsm-example%2F0/targets?collector_id=otelcol-collector-0", + "targets": [ + { + "targets": ["10.244.0.11:8080"], + "labels": { + "__meta_kubernetes_endpointslice_port_name": "prom", + "__meta_kubernetes_pod_labelpresent_app_kubernetes_io_name": "true", + "__meta_kubernetes_endpointslice_port_protocol": "TCP", + "__meta_kubernetes_endpointslice_address_target_name": "py-prometheus-app-575cfdd46-nfttj", + "__meta_kubernetes_endpointslice_annotation_endpoints_kubernetes_io_last_change_trigger_time": "2024-06-21T20:01:37Z", + "__meta_kubernetes_endpointslice_labelpresent_app_kubernetes_io_name": "true", + "__meta_kubernetes_pod_name": "py-prometheus-app-575cfdd46-nfttj", + "__meta_kubernetes_pod_controller_name": "py-prometheus-app-575cfdd46", + "__meta_kubernetes_pod_label_app_kubernetes_io_name": "py-prometheus-app", + "__meta_kubernetes_endpointslice_address_target_kind": "Pod", + "__meta_kubernetes_pod_node_name": "otel-target-allocator-talk-control-plane", + "__meta_kubernetes_pod_labelpresent_pod_template_hash": "true", + "__meta_kubernetes_endpointslice_label_kubernetes_io_service_name": "py-prometheus-app", + "__meta_kubernetes_endpointslice_annotationpresent_endpoints_kubernetes_io_last_change_trigger_time": "true", + "__meta_kubernetes_service_name": "py-prometheus-app", + "__meta_kubernetes_pod_ready": "true", + "__meta_kubernetes_pod_labelpresent_app": "true", + "__meta_kubernetes_pod_controller_kind": "ReplicaSet", + "__meta_kubernetes_endpointslice_labelpresent_app": "true", + "__meta_kubernetes_pod_container_image": "otel-target-allocator-talk:0.1.0-py-prometheus-app", + "__address__": "10.244.0.11:8080", + "__meta_kubernetes_service_label_app_kubernetes_io_name": "py-prometheus-app", + "__meta_kubernetes_pod_uid": "495d47ee-9a0e-49df-9b41-fe9e6f70090b", + "__meta_kubernetes_endpointslice_port": "8080", + "__meta_kubernetes_endpointslice_label_endpointslice_kubernetes_io_managed_by": "endpointslice-controller.k8s.io", + "__meta_kubernetes_endpointslice_label_app": "my-app", + "__meta_kubernetes_service_labelpresent_app_kubernetes_io_name": "true", + "__meta_kubernetes_pod_host_ip": "172.24.0.2", + "__meta_kubernetes_namespace": "opentelemetry", + "__meta_kubernetes_endpointslice_endpoint_conditions_serving": "true", + "__meta_kubernetes_endpointslice_labelpresent_kubernetes_io_service_name": "true", + "__meta_kubernetes_endpointslice_endpoint_conditions_ready": "true", + "__meta_kubernetes_service_annotation_kubectl_kubernetes_io_last_applied_configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"my-app\",\"app.kubernetes.io/name\":\"py-prometheus-app\"},\"name\":\"py-prometheus-app\",\"namespace\":\"opentelemetry\"},\"spec\":{\"ports\":[{\"name\":\"prom\",\"port\":8080}],\"selector\":{\"app\":\"my-app\",\"app.kubernetes.io/name\":\"py-prometheus-app\"}}}\n", + "__meta_kubernetes_endpointslice_endpoint_conditions_terminating": "false", + "__meta_kubernetes_pod_container_port_protocol": "TCP", + "__meta_kubernetes_pod_phase": "Running", + "__meta_kubernetes_pod_container_name": "my-app", + "__meta_kubernetes_pod_container_port_name": "prom", + "__meta_kubernetes_pod_ip": "10.244.0.11", + "__meta_kubernetes_service_annotationpresent_kubectl_kubernetes_io_last_applied_configuration": "true", + "__meta_kubernetes_service_labelpresent_app": "true", + "__meta_kubernetes_endpointslice_address_type": "IPv4", + "__meta_kubernetes_service_label_app": "my-app", + "__meta_kubernetes_pod_label_app": "my-app", + "__meta_kubernetes_pod_container_port_number": "8080", + "__meta_kubernetes_endpointslice_name": "py-prometheus-app-bwbvn", + "__meta_kubernetes_pod_label_pod_template_hash": "575cfdd46", + "__meta_kubernetes_endpointslice_endpoint_node_name": "otel-target-allocator-talk-control-plane", + "__meta_kubernetes_endpointslice_labelpresent_endpointslice_kubernetes_io_managed_by": "true", + "__meta_kubernetes_endpointslice_label_app_kubernetes_io_name": "py-prometheus-app" + } + } + ] + } +} +``` + +The query parameter `collector_id` in the `_link` field of the above output +states that these are the targets pertain to `otelcol-collector-0` (the name of +the `StatefulSet` created for the `OpenTelemetryCollector` resource). + +{{% alert title="Note" %}} + +See the +[Target Allocator readme](https://github.com/open-telemetry/opentelemetry-operator/blob/main/cmd/otel-allocator/README.md?plain=1#L128-L134) +for more information on the `/jobs` endpoint. + +{{% /alert %}} + +### Is the Target Allocator enabled? Is Prometheus service discovery enabled? + +If the `curl` commands above don’t show a list of expected `ServiceMonitor`s and +`PodMonitor`s, you need to check whether the features that populate those values +are turned on. + +One thing to remember is that just because you include the `targetAllocator` +section in the `OpenTelemetryCollector` CR doesn’t mean that it’s enabled. You +need to explicitly enable it. Furthermore, if you want to use +[Prometheus service discovery](https://github.com/open-telemetry/opentelemetry-operator/blob/main/cmd/otel-allocator/README.md#discovery-of-prometheus-custom-resources), +you must explicitly enable it: + +- Set `spec.targetAllocator.enabled` to `true` +- Set `spec.targetAllocator.prometheusCR.enabled` to `true` + +So that your `OpenTelemetryCollector` resource looks like this: + +```yaml +apiVersion: opentelemetry.io/v1beta1 +kind: OpenTelemetryCollector +metadata: + name: otelcol + namespace: opentelemetry +spec: + mode: statefulset + targetAllocator: + enabled: true + serviceAccount: opentelemetry-targetallocator-sa + prometheusCR: + enabled: true +``` + +See the full `OpenTelemetryCollector` +[resource definition in "Do you know if metrics are actually being scraped?"](#do-you-know-if-metrics-are-actually-beingscraped). + +### Did you configure a ServiceMonitor (or PodMonitor) selector? + +If you configured a +[`ServiceMonitor`](https://observability.thomasriley.co.uk/prometheus/configuring-prometheus/using-service-monitors/#:~:text=The%20ServiceMonitor%20is%20used%20to,build%20the%20required%20Prometheus%20configuration.) +selector, it means that the Target Allocator only looks for `ServiceMonitors` +having a `metadata.label` that matches the value in +[`serviceMonitorSelector`](https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr-1). + +Suppose that you configured a +[`serviceMonitorSelector`](https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr-1) +for your Target Allocator, like in the following example: + +```yaml +apiVersion: opentelemetry.io/v1beta1 +kind: OpenTelemetryCollector +metadata: + name: otelcol + namespace: opentelemetry +spec: + mode: statefulset + targetAllocator: + enabled: true + serviceAccount: opentelemetry-targetallocator-sa + prometheusCR: + enabled: true + serviceMonitorSelector: + matchLabels: + app: my-app +``` + +By setting the value of +`spec.targetAllocator.prometheusCR.serviceMonitorSelector.matchLabels` to +`app: my-app`, it means that your `ServiceMonitor` resource must in turn have +that same value in `metadata.labels`: + +```yaml +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: sm-example + labels: + app: my-app + release: prometheus +spec: +``` + +See the full `ServiceMonitor` +[resource definition in "Do you know if metrics are actually being scraped?"](#do-you-know-if-metrics-are-actually-beingscraped). + +In this case, the `OpenTelemetryCollector` resource's +`prometheusCR.serviceMonitorSelector.matchLabels` is looking only for +`ServiceMonitors` having the label `app: my-app`, which we see in the previous +example. + +If your `ServiceMonitor` resource is missing that label, then the Target +Allocator will fail to discover scrape targets from that `ServiceMonitor`. + +{{% alert title="Tip" %}} + +The same applies if you’re using a +[PodMonitor](https://prometheus-operator.dev/docs/user-guides/getting-started/#using-podmonitors). +In that case, you would use a +[`podMonitorSelector`](https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr) +instead of a `serviceMonitorSelector`. + +{{% /alert %}} + +### Did you leave out the serviceMonitorSelector and/or podMonitorSelector configuration altogether? + +As mentioned in +["Did you configure a ServiceMonitor or PodMonitor selector"](#did-you-configure-a-servicemonitor-or-podmonitor-selector), +setting mismatched values for `serviceMonitorSelector` and `podMonitorSelector` +results in the Target Allocator failing to discover scrape targets from your +`ServiceMonitors` and `PodMonitors`, respectively. + +Similarly, in +[`v1beta1`](https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollector-1) +of the `OpenTelemetryCollector` CR, leaving out this configuration altogether +also results in the Target Allocator failing to discover scrape targets from +your `ServiceMonitors` and `PodMonitors`. + +As of `v1beta1` of the `OpenTelemetryOperator`, a `serviceMonitorSelector` and +`podMonitorSelector` must be included, even if you don’t intend to use it, like +this: + +```yaml +prometheusCR: + enabled: true + podMonitorSelector: {} + serviceMonitorSelector: {} +``` + +This configuration means that it will match on all `PodMonitor` and +`ServiceMonitor` resources. See the +[full OpenTelemetryCollector definition in "Do you know if metrics are actually being scraped?"](#do-you-know-if-metrics-are-actually-beingscraped). + +### Do your labels, namespaces, and ports match for your ServiceMonitor and your Service (or PodMonitor and your Pod)? + +The `ServiceMonitor` is configured to pick up Kubernetes +[Services](https://kubernetes.io/docs/concepts/services-networking/service/) +that match on: + +- Labels +- Namespaces (optional) +- Ports (endpoints) + +Suppose that you have this `ServiceMonitor`: + +```yaml +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: sm-example + labels: + app: my-app + release: prometheus +spec: + selector: + matchLabels: + app: my-app + namespaceSelector: + matchNames: + - opentelemetry + endpoints: + - port: prom + path: /metrics + - port: py-client-port + interval: 15s + - port: py-server-port +``` + +The previous `ServiceMonitor` is looking for any services that have: + +- the label `app: my-app` +- reside in a namespace called `opentelemetry` +- a port named `prom`, `py-client-port`, _or_ `py-server-port` + +For example, the following `Service` resource would get picked up by the +`ServiceMonitor`, because it matches the previous criteria: + +```yaml +apiVersion: v1 +kind: Service +metadata: + name: py-prometheus-app + namespace: opentelemetry + labels: + app: my-app + app.kubernetes.io/name: py-prometheus-app +spec: + selector: + app: my-app + app.kubernetes.io/name: py-prometheus-app + ports: + - name: prom + port: 8080 +``` + +The following `Service` resource would not be picked up, because the +`ServiceMonitor` is looking for ports named `prom`, `py-client-port`, _or_ +`py-server-port`, and this service’s port is called `bleh`. + +```yaml +apiVersion: v1 +kind: Service +metadata: + name: py-prometheus-app + namespace: opentelemetry + labels: + app: my-app + app.kubernetes.io/name: py-prometheus-app +spec: + selector: + app: my-app + app.kubernetes.io/name: py-prometheus-app + ports: + - name: bleh + port: 8080 +``` + +{{% alert title="Tip" %}} + +If you’re using `PodMonitor`, the same applies, except that it picks up +Kubernetes pods that match on labels, namespaces, and named ports. + +{{% /alert %}} diff --git a/static/refcache.json b/static/refcache.json index 49330b5568dd..c90df904e258 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -6115,6 +6115,10 @@ "StatusCode": 200, "LastSeen": "2024-02-09T11:48:44.205582+01:00" }, + "https://observability.thomasriley.co.uk/prometheus/configuring-prometheus/using-service-monitors/#:~:text=The%20ServiceMonitor%20is%20used%20to,build%20the%20required%20Prometheus%20configuration.": { + "StatusCode": 206, + "LastSeen": "2024-06-18T13:27:45.202877-04:00" + }, "https://observiq.com/blog/what-are-connectors-in-opentelemetry/": { "StatusCode": 206, "LastSeen": "2024-01-30T06:06:02.410999-05:00" @@ -7703,6 +7707,14 @@ "StatusCode": 206, "LastSeen": "2024-01-30T06:01:24.93578-05:00" }, + "https://prometheus-operator.dev/docs/operator/design/#servicemonitor": { + "StatusCode": 206, + "LastSeen": "2024-06-18T16:43:08.829675-04:00" + }, + "https://prometheus-operator.dev/docs/user-guides/getting-started/#using-podmonitors": { + "StatusCode": 206, + "LastSeen": "2024-06-18T13:27:46.505689-04:00" + }, "https://prometheus.io": { "StatusCode": 206, "LastSeen": "2024-01-18T19:07:18.12399-05:00" From cd2ffb39654ad20dc66758de9aa3ca096eab2d84 Mon Sep 17 00:00:00 2001 From: Yoshi Yamaguchi Date: Mon, 24 Jun 2024 16:14:50 +0900 Subject: [PATCH 29/34] =?UTF-8?q?[ja]=20fix=20=E8=BB=BD=E8=A3=85=20to=20?= =?UTF-8?q?=E8=A8=88=E8=A3=85=20(#4733)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/ja/docs/what-is-opentelemetry.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/what-is-opentelemetry.md b/content/ja/docs/what-is-opentelemetry.md index e6a7fb23693c..141a8a215f97 100644 --- a/content/ja/docs/what-is-opentelemetry.md +++ b/content/ja/docs/what-is-opentelemetry.md @@ -19,7 +19,7 @@ OpenTelemetryの主な目的は、あなたのアプリケーションやシス [オブザーバビリティ](/docs/concepts/observability-primer/#what-is-observability)とは、システムの出力を調べることによって、システムの内部状態を理解する能力のことです。 ソフトウェアの文脈では、これは、トレース、メトリクス、ログを含むテレメトリーデータを調べることによって、システムの内部状態を理解できることを意味します。 -システムをオブザーバビリティがある状態にするには、[軽装されて](/docs/concepts/instrumentation)いなければなりません。 +システムをオブザーバビリティがある状態にするには、[計装されて](/docs/concepts/instrumentation)いなければなりません。 つまり、コードが[トレース](/docs/concepts/signals/traces/)、[メトリクス](/docs/concepts/signals/metrics/)、または[ログ](/docs/concepts/signals/logs/)を出力しなければなりません。 計装されたデータは、オブザーバビリティバックエンドに送信されなければなりません。 From a2c5ff23fc1fa176725e92a4d6f0121d42032a4a Mon Sep 17 00:00:00 2001 From: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Date: Mon, 24 Jun 2024 18:11:16 +0200 Subject: [PATCH 30/34] Update opentelemetry-collector-releases version to v0.103.1 (#4737) --- content/en/docs/collector/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/collector/_index.md b/content/en/docs/collector/_index.md index 12942cf9f9ff..85d354bdc9d3 100644 --- a/content/en/docs/collector/_index.md +++ b/content/en/docs/collector/_index.md @@ -3,7 +3,7 @@ title: Collector description: Vendor-agnostic way to receive, process and export telemetry data. aliases: [collector/about] cascade: - vers: 0.103.0 + vers: 0.103.1 weight: 270 --- From 88a5f834d8902ba5ac79ebbf05b26649e0e31a1c Mon Sep 17 00:00:00 2001 From: Tiffany Hrabusa <30397949+tiffany76@users.noreply.github.com> Date: Mon, 24 Jun 2024 22:59:37 -0700 Subject: [PATCH 31/34] Fix typo in monitoring section of Internal telemetry page (#4739) --- content/en/docs/collector/internal-telemetry.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/collector/internal-telemetry.md b/content/en/docs/collector/internal-telemetry.md index b54a555eca02..2c4190b4a205 100644 --- a/content/en/docs/collector/internal-telemetry.md +++ b/content/en/docs/collector/internal-telemetry.md @@ -332,4 +332,4 @@ with the network or backend receiving the data. You can monitor data ingress with the `otelcol_receiver_accepted_spans` and `otelcol_receiver_accepted_metric_points` metrics and data egress with the -`otecol_exporter_sent_spans` and `otelcol_exporter_sent_metric_points` metrics. +`otelcol_exporter_sent_spans` and `otelcol_exporter_sent_metric_points` metrics. From 825b6e21c8d4b88256e679d7e1de710582370503 Mon Sep 17 00:00:00 2001 From: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Date: Tue, 25 Jun 2024 08:29:17 +0200 Subject: [PATCH 32/34] Auto-update registry versions (fef01bf75185c09412d82e2bd5da23525a8422e0) (#4740) Co-authored-by: Fabrizio Ferri-Benedetti --- data/registry/exporter-dotnet-prometheus-aspnetcore.yml | 2 +- data/registry/exporter-dotnet-prometheus-httplistener.yml | 2 +- data/registry/exporter-js-instana.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data/registry/exporter-dotnet-prometheus-aspnetcore.yml b/data/registry/exporter-dotnet-prometheus-aspnetcore.yml index 13c36c6f3269..2b1f98c96890 100644 --- a/data/registry/exporter-dotnet-prometheus-aspnetcore.yml +++ b/data/registry/exporter-dotnet-prometheus-aspnetcore.yml @@ -21,4 +21,4 @@ createdAt: 2022-11-07 package: registry: nuget name: OpenTelemetry.Exporter.Prometheus.AspNetCore - version: 1.9.0-beta.1 + version: 1.9.0-beta.2 diff --git a/data/registry/exporter-dotnet-prometheus-httplistener.yml b/data/registry/exporter-dotnet-prometheus-httplistener.yml index 2531b063c173..b53f88e6e3d4 100644 --- a/data/registry/exporter-dotnet-prometheus-httplistener.yml +++ b/data/registry/exporter-dotnet-prometheus-httplistener.yml @@ -18,4 +18,4 @@ createdAt: 2022-11-07 package: registry: nuget name: OpenTelemetry.Exporter.Prometheus.HttpListener - version: 1.9.0-beta.1 + version: 1.9.0-beta.2 diff --git a/data/registry/exporter-js-instana.yml b/data/registry/exporter-js-instana.yml index be3dfc02192a..0895803653be 100644 --- a/data/registry/exporter-js-instana.yml +++ b/data/registry/exporter-js-instana.yml @@ -15,4 +15,4 @@ createdAt: 2022-04-18 package: registry: npm name: '@instana/opentelemetry-exporter' - version: 3.12.0 + version: 3.13.0 From b6dfcac09df0be67f703e01459ef55cfcea1441f Mon Sep 17 00:00:00 2001 From: Jean Bisutti Date: Wed, 26 Jun 2024 13:41:47 +0200 Subject: [PATCH 33/34] Add a note about the Spring Boot BOM (#4752) --- .../java/spring-boot-starter/getting-started.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/content/en/docs/zero-code/java/spring-boot-starter/getting-started.md b/content/en/docs/zero-code/java/spring-boot-starter/getting-started.md index 8d2da55ea72d..18520fb770f4 100644 --- a/content/en/docs/zero-code/java/spring-boot-starter/getting-started.md +++ b/content/en/docs/zero-code/java/spring-boot-starter/getting-started.md @@ -29,7 +29,14 @@ Importing the `opentelemetry-bom` and `opentelemetry-instrumentation-bom-alpha` BOMs when using the OpenTelemetry starter is important to ensure version alignment across all OpenTelemetry dependencies. -The following example shows how to import both BOMs using Maven: +{{% alert title="Note" color="info" %}} + +If you import the `spring-boot-dependencies` BOM, you have to declare it after +the OpenTelemetry BOMs. + +{{% /alert %}} + +The following example shows how to import the OpenTelemetry BOMs using Maven: ```xml From bc803860648904f80202d7c54a49bf89c7f08093 Mon Sep 17 00:00:00 2001 From: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Date: Wed, 26 Jun 2024 15:04:16 +0200 Subject: [PATCH 34/34] Auto-update registry versions (ff3d4830a3afb1b71fc3ec91bee693c93cd8f6e2) (#4750) Co-authored-by: Severin Neumann --- data/registry/exporter-js-instana.yml | 2 +- data/registry/instrumentation-js-langchain.yml | 2 +- data/registry/instrumentation-js-openai.yml | 2 +- data/registry/instrumentation-js-prisma.yml | 2 +- data/registry/tools-ruby-sentry.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/data/registry/exporter-js-instana.yml b/data/registry/exporter-js-instana.yml index 0895803653be..a3cf86ba4287 100644 --- a/data/registry/exporter-js-instana.yml +++ b/data/registry/exporter-js-instana.yml @@ -15,4 +15,4 @@ createdAt: 2022-04-18 package: registry: npm name: '@instana/opentelemetry-exporter' - version: 3.13.0 + version: 3.14.0 diff --git a/data/registry/instrumentation-js-langchain.yml b/data/registry/instrumentation-js-langchain.yml index f22d240c8989..ff2cf12f93d4 100644 --- a/data/registry/instrumentation-js-langchain.yml +++ b/data/registry/instrumentation-js-langchain.yml @@ -18,4 +18,4 @@ createdAt: 2024-06-05 package: registry: npm name: '@arizeai/openinference-instrumentation-langchain' - version: 0.0.6 + version: 0.0.8 diff --git a/data/registry/instrumentation-js-openai.yml b/data/registry/instrumentation-js-openai.yml index b5aa6175a1d7..f82022b97cb8 100644 --- a/data/registry/instrumentation-js-openai.yml +++ b/data/registry/instrumentation-js-openai.yml @@ -18,4 +18,4 @@ createdAt: 2024-06-05 package: registry: npm name: '@arizeai/openinference-instrumentation-openai' - version: 0.3.1 + version: 0.3.3 diff --git a/data/registry/instrumentation-js-prisma.yml b/data/registry/instrumentation-js-prisma.yml index 8225bebdc630..67add2dfeccc 100644 --- a/data/registry/instrumentation-js-prisma.yml +++ b/data/registry/instrumentation-js-prisma.yml @@ -17,4 +17,4 @@ createdAt: 2022-08-25 package: registry: npm name: '@prisma/instrumentation' - version: 5.15.1 + version: 5.16.0 diff --git a/data/registry/tools-ruby-sentry.yml b/data/registry/tools-ruby-sentry.yml index 2e96b7f3e983..3c8be5960b71 100644 --- a/data/registry/tools-ruby-sentry.yml +++ b/data/registry/tools-ruby-sentry.yml @@ -23,4 +23,4 @@ createdAt: 2023-01-31 package: registry: gems name: sentry-opentelemetry - version: 5.17.3 + version: 5.18.0