This is an automated email from the ASF dual-hosted git repository.
liuhan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-query-protocol.git
The following commit(s) were added to refs/heads/master by this push:
new 34937ef Define the eBPF network sampling strategy (#102)
34937ef is described below
commit 34937ef582edd38319f57ff2bda09688b1af708e
Author: mrproliu <[email protected]>
AuthorDate: Thu Nov 17 09:29:16 2022 +0800
Define the eBPF network sampling strategy (#102)
---
ebpf-profiling.graphqls | 37 ++++++++++++++++++++++++++++++++++++-
1 file changed, 36 insertions(+), 1 deletion(-)
diff --git a/ebpf-profiling.graphqls b/ebpf-profiling.graphqls
index 5fa4554..a464153 100644
--- a/ebpf-profiling.graphqls
+++ b/ebpf-profiling.graphqls
@@ -30,10 +30,45 @@ input EBPFProfilingTaskFixedTimeCreationRequest {
targetType: EBPFProfilingTargetType!
}
+input EBPFNetworkDataCollectingSettings {
+ # Require to collect the complete request
+ requireCompleteRequest: Boolean!
+ # The max size of request context. The unit is byte.
+ # Collect the whole request header and body if this is not set.
+ maxRequestSize: Int
+
+ # Require to collect the complete response
+ requireCompleteResponse: Boolean!
+ # The max size of response context. The unit is byte.
+ # Collect the whole response header and body if this is not set.
+ maxResponseSize: Int
+}
+
+input EBPFNetworkSamplingRule {
+ # The match pattern for HTTP request. This is HTTP URI-oriented.
+ # matches all requests if not set
+ uriRegex: String
+
+ # the minimal request duration to activate the network data(HTTP
request/response raw data) sampling.
+ # Collecting requests without minimal request duration
+ minDuration: Int
+ # Collecting requests when the response code is 400-499
+ when4xx: Boolean!
+ # Collecting requests when the response code is 500-599
+ when5xx: Boolean!
+
+ # define how to collect sampled data
+ settings: EBPFNetworkDataCollectingSettings!
+}
+
# The request of eBPF network profiling task
input EBPFProfilingNetworkTaskRequest {
# define which processes under the service instance need to be profiling
instanceId: String!
+
+ # The rule list for network profiling.
+ # Set various rules for different HTTP URIs if necessary.
+ samplings: [EBPFNetworkSamplingRule!]!
}
# eBPF Profiling task creation result
@@ -192,4 +227,4 @@ extend type Query {
# analyze the profiling schedule
# aggregateType is "EBPFProfilingAnalyzeAggregateType#COUNT" as default.
analysisEBPFProfilingResult(scheduleIdList: [ID!]!, timeRanges:
[EBPFProfilingAnalyzeTimeRange!]!, aggregateType:
EBPFProfilingAnalyzeAggregateType): EBPFProfilingAnalyzation!
-}
\ No newline at end of file
+}