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

[Feature] About log collecting and meter(Metrics) reports skywalking-rust. #9384

Closed
3 tasks done
jmjoy opened this issue Jul 26, 2022 · 14 comments
Closed
3 tasks done
Assignees
Labels
feature New feature logging Log collecting and analysis metrics Metrics and meter rust Rust SDK
Milestone

Comments

@jmjoy
Copy link
Member

jmjoy commented Jul 26, 2022

Search before asking

  • I had searched in the issues and found no similar feature requirement.

Description

Mentioned in #9297 (comment), the features of the next version of skywalking-rust.

Use case

No response

Related issues

No response

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!

Code of Conduct

@jmjoy jmjoy added the feature New feature label Jul 26, 2022
@jmjoy
Copy link
Member Author

jmjoy commented Jul 26, 2022

Is the log collecting means Span::add_log?

If yes, it's already done.

@wu-sheng
Copy link
Member

No, it isn't. Log collecting mean logs with trace context could be reported through grpc log API. It is less expensive than including in spans. Also, you would be able to search logs without trace ID.

@wu-sheng wu-sheng added this to the Rust - 0.4.0 milestone Jul 26, 2022
@jmjoy
Copy link
Member Author

jmjoy commented Aug 1, 2022

For logging, I want to implement it by integrate with the tokio log framework tracing, add the grpc subscriber and some filed in log, such as:

// The GrpcSubscriber implement `tracing::Subscriber`.
let subscriber = skywalking::logging::GrpcSubscriber::new();

tracing::subscriber::set_global_default(subscriber);

let trace_context = create_the_trace_context();

info!("some log", skywalking.ctx = trace_context);

Because tracing is not only a log framework, but also a trace framework, so in the future, I want to integrate skywalking Tracer with tracing, like tracing-opentelemetry.

@wu-sheng
Copy link
Member

wu-sheng commented Aug 1, 2022

You could create APIs fot native logging/tracing integration, and provide a shell on the APIs for tokio tracing. This would be helpful to set up APIs boundaries.

@jmjoy
Copy link
Member Author

jmjoy commented Aug 11, 2022

Add logging:
apache/skywalking-rust#41

@jmjoy
Copy link
Member Author

jmjoy commented Aug 20, 2022

I have some doubts about metric, where will the metric data be displayed on the UI?

@wu-sheng
Copy link
Member

I have some doubts about metric, where will the metric data be displayed on the UI?

Nearly all data on the pages? You need to follow MAL to pre-process metrics

@wu-sheng wu-sheng added rust Rust SDK metrics Metrics and meter logging Log collecting and analysis labels Aug 20, 2022
@wu-sheng
Copy link
Member

You could take a look for k8s, virtual machine(linux), and MySQL server monitoring.

@jmjoy
Copy link
Member Author

jmjoy commented Aug 20, 2022

You could take a look for k8s, virtual machine(linux), and MySQL server monitoring.

👌

@wu-sheng
Copy link
Member

Log APIs - apache/skywalking-rust#41
Metrics APIs - apache/skywalking-rust#44

@4t145
Copy link

4t145 commented Mar 21, 2024

For logging, I want to implement it by integrate with the tokio log framework tracing, add the grpc subscriber and some filed in log, such as:

// The GrpcSubscriber implement `tracing::Subscriber`.
let subscriber = skywalking::logging::GrpcSubscriber::new();

tracing::subscriber::set_global_default(subscriber);

let trace_context = create_the_trace_context();

info!("some log", skywalking.ctx = trace_context);

Because tracing is not only a log framework, but also a trace framework, so in the future, I want to integrate skywalking Tracer with tracing, like tracing-opentelemetry.

Sorry to bother you but do we have any tokio tracing subscriber layer implemente by now? Is there any hint if I want to intergrate skywallking-rust with tokio tracing?

@wu-sheng
Copy link
Member

For logging, I want to implement it by integrate with the tokio log framework tracing, add the grpc subscriber and some filed in log, such as:

// The GrpcSubscriber implement `tracing::Subscriber`.
let subscriber = skywalking::logging::GrpcSubscriber::new();

tracing::subscriber::set_global_default(subscriber);

let trace_context = create_the_trace_context();

info!("some log", skywalking.ctx = trace_context);

Because tracing is not only a log framework, but also a trace framework, so in the future, I want to integrate skywalking Tracer with tracing, like tracing-opentelemetry.

Sorry to bother you but do we have any tokio tracing subscriber layer implemente by now? Is there any hint if I want to intergrate skywallking-rust with tokio tracing?

What is that tracing doing? If it only does pure tracing such as Zipkin, I am afraid, that is not enough for SkyWalking's requirements.

@4t145
Copy link

4t145 commented Mar 21, 2024

Tokio tracing is the most widely used trace framework in the Rust world. I'am not demanding that the crate skywalking-rust to support tokio tracing. I ask because the creator of this issue jmjoy mentioned that he was thinking about to integrate crate skywalking-rust with tokio tracing there like what tracing-opentelemetry do (maybe it's a new crate named tracing-skywalking). Since opentelemetry has been well supported in tokio traicng I wonder if there is the same thing in skywalking.

@wu-sheng
Copy link
Member

Tokio tracing is the most widely used trace framework in the Rust world. I'am not demanding that the crate skywalking-rust to support tokio tracing. I ask because the creator of this issue jmjoy mentioned that he was thinking about to integrate crate skywalking-rust with tokio tracing there like what tracing-opentelemetry do (maybe it's a new crate named tracing-skywalking). Since opentelemetry has been well supported in tokio traicng I wonder if there is the same thing in skywalking.

That is a new thing. But at least, this is not a thing we discussed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature logging Log collecting and analysis metrics Metrics and meter rust Rust SDK
Projects
None yet
Development

No branches or pull requests

3 participants