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 new record query protocol. #100

Merged
merged 1 commit into from
Oct 17, 2022
Merged

Add new record query protocol. #100

merged 1 commit into from
Oct 17, 2022

Conversation

wu-sheng
Copy link
Member

# Since 9.3.0
# Record is a general and abstract type for collected raw data.
# In the observability, traces and logs have specific and well-defined meanings, and the general records represent other
# collected records. Such as sampled slow SQL statement, HTTP request raw data(request/response header/body)
extend type Query {
    # Query collected records with given metric name and parent entity conditions, and return in the requested order.
    readRecords(condition: RecordCondition!, duration: Duration!): [Record!]!
}

A new query protocol is being added, to replace the readSampledRecords. This would be a compatible upgrade to support more use cases for sampled records(such as in instance level) and incoming HTTP header/body collecting(through ebpf agent).

In ebpf case, we would be able to sample HTTP request/response according to latency threshold, even 100% sampling. And link those records with trace ID/span ID decoded from the sw8(skywalking)/b3(zipkin) header. Then we could have this diagnose workflow, slow HTTP request -> TRACE view -> RPC span with attached event. The event includes the HTTP request/response in step <1>, as well as statistics of network events(ref apache/skywalking-data-collect-protocol#77)

@wu-sheng wu-sheng added the enhancement New feature or request label Oct 17, 2022
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

Successfully merging this pull request may close these issues.

4 participants