Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add OpenTelemetry Log support to all services #1472

Open
1 of 8 tasks
puckpuck opened this issue Mar 20, 2024 · 23 comments
Open
1 of 8 tasks

Add OpenTelemetry Log support to all services #1472

puckpuck opened this issue Mar 20, 2024 · 23 comments
Labels
enhancement New feature or request

Comments

@puckpuck
Copy link
Contributor

puckpuck commented Mar 20, 2024

We have converted several but not all services from console output to OpenTelemetry Logs. This is a list of remaining services that need OpenTelmetry log support to be added. This should be accomplished by leveraging an instrumentation library for the existing logging framework or re-writing the console output to leverage an OpenTelemetry LogProvider.

  • accounting (Go)
  • checkout (Go)
  • email (Ruby)
  • frontend (Typescript)
  • loadgenerator (Python)
  • payment (Javascript)
  • productcatalog (Go)
  • shipping (Rust)
@puckpuck puckpuck added the enhancement New feature or request label Mar 20, 2024
@julianocosta89
Copy link
Member

#1433 adds OTLP Logs to Shipping Service (Rust)

@Kimbohlovette
Copy link

Kimbohlovette commented Mar 22, 2024

@puckpuck please assign this issue to me.
I have coding experience in Go, Typescript, Python, Javascript so I would complete 80% of this issue without much effort

@puckpuck
Copy link
Contributor Author

I recommend you do this for 1 service and submit the PR accordingly. It would be great to announce in this thread the service you are working on next.

@Kimbohlovette
Copy link

Alright I will do exacly that

@Kimbohlovette
Copy link

Kimbohlovette commented Mar 22, 2024

Hello @puckpuck and everyone here.

  • I'm currently working on the Accounting Service

@Kimbohlovette
Copy link

@puckpuck @jpkrohling please could you look at the PR I opened for the first task? #1477

@Kimbohlovette
Copy link

Kimbohlovette commented Mar 23, 2024

  • I'm currently working on Checkout Service

@Kimbohlovette
Copy link

@puckpuck @jpkrohling please I have opened a PR for adding otel log support to the checkout service
#1478

@Kimbohlovette
Copy link

Kimbohlovette commented Mar 23, 2024

  • I'm currently working on the Product Catalog Service

@Kimbohlovette
Copy link

@puckpuck @jpkrohling I've opened a PR for Product catalog here #1479 please take a look

@Kimbohlovette
Copy link

Kimbohlovette commented Mar 24, 2024

Hello guys

  • I'm currently working on the payment service
    @puckpuck

PR: #1481

@Kimbohlovette
Copy link

Kimbohlovette commented Mar 24, 2024

  • Currently working on frontend service

@austinlparker
Copy link
Member

@Kimbohlovette hey, we appreciate your enthusiasm, but you're not actually adding logging support. You're adding a bridge between logging libraries and span events. These aren't the same things. Log support in the Go SDK is currently in development (https://github.com/orgs/open-telemetry/projects/43), so you would need to see if it's in a usable state and if there's any bridges set up for existing Go logging libraries.

@Kimbohlovette
Copy link

@Kimbohlovette hey, we appreciate your enthusiasm, but you're not actually adding logging support. You're adding a bridge between logging libraries and span events. These aren't the same things. Log support in the Go SDK is currently in development (https://github.com/orgs/open-telemetry/projects/43), so you would need to see if it's in a usable state and if there's any bridges set up for existing Go logging libraries.

Okay @austinlparker. I will look into that

@Kimbohlovette
Copy link

Hello @puckpuck I think there is no work to be done on the loadgenerator service. It is already exporting logs to opentelemetry using OTLPLogExporter from opentelemetry.exporter.otlp.proto.grpc._log_exporter
Could some take a look and confirm that?

@Kimbohlovette
Copy link

Kimbohlovette commented Apr 2, 2024

@julianocosta89 @pellared can I work on every go service listed above replacing the logrus with slog while waiting for otelslog log bridge to be ready?

@julianocosta89
Copy link
Member

Hello @Kimbohlovette, according to the OTel Go repo, the logs are still in development: https://github.com/open-telemetry/opentelemetry-go?tab=readme-ov-file#project-status

I wouldn't implement anything yet

@pellared
Copy link
Member

pellared commented May 15, 2024

@Kimbohlovette, for Go, this issue is unblocked per https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.26.0

You should use the following packages to emit OTel Logs to OTel Collector

You can also look at open-telemetry/opentelemetry-go#5349 for some reference.

@julianocosta89
Copy link
Member

Thanks for the update @pellared!

@Kimbohlovette wanna take it?

@Kimbohlovette
Copy link

@julianocosta89 yes I will work on it.
@pellared thanks for updates I will start working on it immediately

@Kimbohlovette
Copy link

@pellared would you have some time to help me here please?
I've used otelslog and otel/sdk/log on the productcatalogservice as in the opentelemetry dice example open-telemetry/opentelemetry-go#5349 but I cannot still see logs emitted on the grafana dashboard. I don't even see logs on the terminal any more. I believe that there is something I'm missing out probably in the way I am defining the loggerProvider or logger. I also believe that if I can figure out how to do it for one I can do the rest.

@pellared
Copy link
Member

pellared commented Jul 4, 2024

I've used otelslog and otel/sdk/log on the productcatalogservice as in the opentelemetry dice example open-telemetry/opentelemetry-go#5349 but I cannot still see logs emitted on the grafana dashboard. I don't even see logs on the terminal any more. I believe that there is something I'm missing out probably in the way I am defining the loggerProvider or logger. I also believe that if I can figure out how to do it for one I can do the rest.

@Kimbohlovette, the logs are supposed to be send by the application to the collector using OTLP. You should be able to check if you have the logs in the collector. Otherwise, debug the application. It is hard to help without any code.

@Kimbohlovette
Copy link

Okay let me push what I did

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants