You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Requirement - what kind of business use case are you trying to solve?
Have an caching layer which retrieves full traces from cache.
Finding traces matching a criterion involves finding matching traceIDs and then retrieving them. These are separate concerns for both ES and C*.
I would like the interface to maintain these as separate concerns so that a caching layer may make decisions on where to retrieve traces from.
Problem - what in Jaeger blocks you from solving the requirement?
The current interface, FindTraces(ctx context.Context, query *TraceQueryParameters) ([]*model.Trace, error)
is pretty coarse and doesn't allow for easily inserting a cache.
Proposal - what do you suggest to solve the problem or improve the existing situation?
Add a FindTraceIDs(ctx context.Context, query *TraceQueryParameters) ([]model.TraceID, error) to the spanstore.Reader interface
The text was updated successfully, but these errors were encountered:
Don't quite agree with your stated use case, but where it's definitely useful is when splitting span storage (e.g. a KV store like Cassandra) and span indexing (e.g. Pinot).
One issue with adding it to the Reader is how the query service is going to use it. E.g. if it always does Find first, followed by Get, then it introduces unnecessary 2nd query to the database even when the request could've been resolved in one query. However, by having FindTraceIDs in the interface allows us to implement a decorator Reader that implements Get by calling Find on one storage and then Get on another.
Having FindTraceIDs in the interface allows us to implement a decorator Reader that implements Get by calling Find on one storage and then Get on another.
Requirement - what kind of business use case are you trying to solve?
Have an caching layer which retrieves full traces from cache.
Finding traces matching a criterion involves finding matching traceIDs and then retrieving them. These are separate concerns for both ES and C*.
I would like the interface to maintain these as separate concerns so that a caching layer may make decisions on where to retrieve traces from.
Problem - what in Jaeger blocks you from solving the requirement?
The current interface,
FindTraces(ctx context.Context, query *TraceQueryParameters) ([]*model.Trace, error)
is pretty coarse and doesn't allow for easily inserting a cache.
Proposal - what do you suggest to solve the problem or improve the existing situation?
Add a
FindTraceIDs(ctx context.Context, query *TraceQueryParameters) ([]model.TraceID, error)
to the spanstore.Reader interfaceThe text was updated successfully, but these errors were encountered: