Comments (5)
Do you want this implemented exactly as opentracing does it? Second half of the logs used as a circular buffer?
from jaeger-client-go.
@funny-falcon do you have a specific business reason to want this feature?
from jaeger-client-go.
from jaeger-client-go.
Nice. Could you share which logging API you are using to fork logs into both stream and spans?
Also, logs are usually written with log levels, so if you need to truncate them in the span it would make sense to do in the order of severity. Which makes me think that a plain maxLogs parameter is too crude of a mechanism, we probably need to use some strategy pattern and create some LogTruncator interface.
from jaeger-client-go.
We use custom logging library, therefore it were easy to integrate it with tracing: library has concept of exporters that could be added to logger with specified log level, and there were access to context.Context in a log record.
Some considerations from our workflow:
- spans with a lot of log records a rare, therefore we need to look at them almost never.
- if span had some problems, usually log records about a problem will be in among last log records. And setup records goes first. Therefore keeping some of first records and some of last records looks to be a good strategy that satisfies 99% uses.
- since we duplicate log in logging (that flows to ELK), we always could find truncated records there.
Therefore suggested solutions will satisfy our needs completely. And I doubt complication will pay off.
from jaeger-client-go.
Related Issues (20)
- New release 2.26 HOT 2
- go get v2.26.0 checksum mismatch HOT 8
- RemotelyControlledSampler.Close() stuck due to networking issues HOT 1
- Probabilistic sampler causes trace collisions HOT 1
- Import of "testing" package HOT 4
- Issue found by Svace static analyzer HOT 1
- codahale/hdrhistogram has transferred it's repo
- Span.SetTag does not behave like the opentracing Span interface docs
- consider add more verbosity to error for http span sender
- make install always downloads linux version of 'dep' HOT 1
- A Questions about sampling rate HOT 2
- Connecting jaegertracing-client-go from WSL2
- Suggest to support zipkin mode (and additional baggage prefix) from environment variable
- 128 bit mode should be default HOT 5
- sampler logger is NullLogger
- [Bug]: writeField5 panic
- [Bug]: Sampler tags are missing in root span generated from startSpan
- [Bug]: Performance impact of sprintf HOT 1
- [Bug]: mismatched parameters HOT 1
- [Bug]: `config.Configuration.InitGlobalTracer` panics if `http.DefaultTransport` is not a `*http.Transport`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jaeger-client-go.