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
+}

Reply via email to