You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by li...@apache.org on 2025/09/11 13:39:07 UTC
(skywalking-go) branch main updated: feat(add data collect proto in go agent) (#231)
This is an automated email from the ASF dual-hosted git repository.
liuhan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-go.git
The following commit(s) were added to refs/heads/main by this push:
new 0d8a5be feat(add data collect proto in go agent) (#231)
0d8a5be is described below
commit 0d8a5be10bfe8701790edb2c5529395a206017a8
Author: hao <31...@qq.com>
AuthorDate: Thu Sep 11 21:39:02 2025 +0800
feat(add data collect proto in go agent) (#231)
---
.github/workflows/e2e.yaml | 2 +-
.github/workflows/plugin-tests.yaml | 4 +-
.gitignore | 2 +-
.licenserc.yaml => .gitmodules | 30 +-
.licenserc.yaml | 3 +
CHANGES.md | 3 +-
Makefile | 6 +
agent/core/compile.go | 10 +-
agent/core/tracing/compile.go | 4 +-
agent/reporter/imports.go | 20 +-
go.mod | 12 +-
go.sum | 144 +-
go.work.sum | 20 +-
plugins/core/go.mod | 1 -
plugins/core/logreport.go | 4 +-
plugins/core/reporter/api.go | 6 +-
plugins/core/reporter/cds_manager.go | 2 +-
plugins/core/reporter/config_discovery.go | 2 +-
plugins/core/reporter/discard_reporter.go | 2 +-
plugins/core/reporter/grpc/grpc.go | 6 +-
plugins/core/reporter/grpc/grpc_opts_enhance.go | 4 +-
plugins/core/reporter/kafka/kafka.go | 7 +-
plugins/core/reporter/kafka/kafka_opts_enhance.go | 6 +-
plugins/core/reporter/transform.go | 2 +-
plugins/core/span.go | 2 +-
plugins/core/span_default.go | 4 +-
plugins/core/span_noop.go | 2 +-
plugins/core/span_tracing.go | 4 +-
plugins/core/test_base.go | 2 +-
plugins/core/tool.go | 2 +-
plugins/core/tracing_test.go | 2 +-
plugins/go-restfulv3/filter_test.go | 2 +-
plugins/kratosv2/transport/grpc/server_test.go | 2 +-
plugins/kratosv2/transport/http/server_test.go | 2 +-
.../v3/ConfigurationDiscoveryService.pb.go | 200 +
.../v3/ConfigurationDiscoveryService_grpc.pb.go | 123 +
protocols/collect/common/v3/Command.pb.go | 330 ++
protocols/collect/common/v3/Common.pb.go | 451 +++
.../collect/ebpf/accesslog/v3/accesslog.pb.go | 3817 ++++++++++++++++++++
.../collect/ebpf/accesslog/v3/accesslog_grpc.pb.go | 135 +
.../ebpf/profiling/process/v3/Process.pb.go | 1125 ++++++
.../ebpf/profiling/process/v3/Process_grpc.pb.go | 142 +
.../collect/ebpf/profiling/v3/Continuous.pb.go | 1044 ++++++
.../ebpf/profiling/v3/Continuous_grpc.pb.go | 145 +
protocols/collect/ebpf/profiling/v3/Profile.pb.go | 736 ++++
.../collect/ebpf/profiling/v3/Profile_grpc.pb.go | 177 +
protocols/collect/event/v3/Event.pb.go | 419 +++
protocols/collect/event/v3/Event_grpc.pb.go | 142 +
.../collect/language/agent/v3/BrowserPerf.pb.go | 1040 ++++++
.../language/agent/v3/BrowserPerf_grpc.pb.go | 291 ++
.../collect/language/agent/v3/CLRMetric.pb.go | 497 +++
.../collect/language/agent/v3/CLRMetric_grpc.pb.go | 103 +
.../collect/language/agent/v3/JVMMetric.pb.go | 989 +++++
.../collect/language/agent/v3/JVMMetric_grpc.pb.go | 103 +
protocols/collect/language/agent/v3/Meter.pb.go | 673 ++++
.../collect/language/agent/v3/Meter_grpc.pb.go | 216 ++
protocols/collect/language/agent/v3/Tracing.pb.go | 1382 +++++++
.../collect/language/agent/v3/Tracing_grpc.pb.go | 311 ++
.../agent/v3/compat/BrowserPerfCompat.pb.go | 113 +
.../agent/v3/compat/BrowserPerfCompat_grpc.pb.go | 178 +
.../language/agent/v3/compat/CLRMetricCompat.pb.go | 106 +
.../agent/v3/compat/CLRMetricCompat_grpc.pb.go | 104 +
.../language/agent/v3/compat/JVMMetricCompat.pb.go | 106 +
.../agent/v3/compat/JVMMetricCompat_grpc.pb.go | 104 +
.../language/agent/v3/compat/MeterCompat.pb.go | 105 +
.../agent/v3/compat/MeterCompat_grpc.pb.go | 139 +
.../language/agent/v3/compat/TracingCompat.pb.go | 113 +
.../agent/v3/compat/TracingCompat_grpc.pb.go | 189 +
.../language/asyncprofiler/v10/AsyncProfiler.pb.go | 573 +++
.../asyncprofiler/v10/AsyncProfiler_grpc.pb.go | 175 +
.../collect/language/profile/v3/Profile.pb.go | 572 +++
.../collect/language/profile/v3/Profile_grpc.pb.go | 287 ++
.../language/profile/v3/compat/ProfileCompat.pb.go | 122 +
.../profile/v3/compat/ProfileCompat_grpc.pb.go | 216 ++
protocols/collect/logging/v3/Logging.pb.go | 763 ++++
protocols/collect/logging/v3/Logging_grpc.pb.go | 142 +
protocols/collect/management/v3/Management.pb.go | 308 ++
.../collect/management/v3/Management_grpc.pb.go | 146 +
.../management/v3/compat/ManagementCompat.pb.go | 113 +
.../v3/compat/ManagementCompat_grpc.pb.go | 147 +
protocols/collect/pprof/v10/Pprof.pb.go | 566 +++
protocols/collect/pprof/v10/Pprof_grpc.pb.go | 175 +
.../collect/servicemesh/v3/service-mesh.pb.go | 983 +++++
.../collect/servicemesh/v3/service-mesh_grpc.pb.go | 136 +
test/plugins/runner-helper/templates/validator.tpl | 8 +-
.../runner-helper/templates/windows-scenarios.tpl | 28 +
.../runner-helper/templates/windows-validator.tpl | 63 +-
.../runner-helper/templates/wsl-scenarios.tpl | 64 +-
test/plugins/scenarios/http/main.go | 2 +-
tools/go-agent/instrument/agentcore/instrument.go | 11 +
tools/go-agent/instrument/reporter/instrument.go | 10 +
tools/go-agent/tools/dst_test.go | 10 +-
tools/protocols/generate.sh | 145 +
tools/protocols/skywalking-data-collect-protocol | 1 +
94 files changed, 21719 insertions(+), 221 deletions(-)
diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml
index 7b956b0..d57ab4b 100644
--- a/.github/workflows/e2e.yaml
+++ b/.github/workflows/e2e.yaml
@@ -61,4 +61,4 @@ jobs:
- name: Run E2E Tests
uses: apache/skywalking-infra-e2e@7e4b5b68716fdb7b79b21fa8908f9db497e1b115
with:
- e2e-file: ${{ matrix.case.path }}
+ e2e-file: ${{ matrix.case.path }}
\ No newline at end of file
diff --git a/.github/workflows/plugin-tests.yaml b/.github/workflows/plugin-tests.yaml
index 107e83c..58d3833 100644
--- a/.github/workflows/plugin-tests.yaml
+++ b/.github/workflows/plugin-tests.yaml
@@ -80,7 +80,7 @@ jobs:
- go-redisv9
- go-restfulv3
- gorm
-# - kratosv2 temporary disable because it's not stable
+ # - kratosv2 temporary disable because it's not stable
- microv4
- mongo
- mysql
@@ -205,4 +205,4 @@ jobs:
run: |
if [[ ${{ needs.test.result }} != 'success' ]]; then
exit -1
- fi
+ fi
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 933a88b..1ca07e2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,6 @@ coverage.txt
/test/e2e/dist/
/test/plugins/workspace
/test/plugins/dist/
-*.pb.go
+/tools/protocols/temp/
vendor/
VERSION
diff --git a/.licenserc.yaml b/.gitmodules
similarity index 64%
copy from .licenserc.yaml
copy to .gitmodules
index 0bc62c7..379c8bd 100644
--- a/.licenserc.yaml
+++ b/.gitmodules
@@ -1,4 +1,3 @@
-#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
@@ -15,30 +14,7 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-#
-
-header:
- license:
- spdx-id: Apache-2.0
- copyright-owner: Apache Software Foundation
-
- paths-ignore:
- - '**/*.md'
- - 'licenses'
- - '**/go.mod'
- - '**/go.sum'
- - 'go.work'
- - 'go.work.sum'
- - 'LICENSE'
- - 'NOTICE'
- - '.gitignore'
- - 'dist/LICENSE.tpl'
- - '**/*.tmpl'
- - 'tools/go-agent/tools/testdata/*'
- - 'VERSION'
-
- comment: on-failure
-dependency:
- files:
- - go.mod
+[submodule "tools/protocols/skywalking-data-collect-protocol"]
+ path = tools/protocols/skywalking-data-collect-protocol
+ url = https://github.com/apache/skywalking-data-collect-protocol.git
diff --git a/.licenserc.yaml b/.licenserc.yaml
index 0bc62c7..8f1e126 100644
--- a/.licenserc.yaml
+++ b/.licenserc.yaml
@@ -36,6 +36,9 @@ header:
- '**/*.tmpl'
- 'tools/go-agent/tools/testdata/*'
- 'VERSION'
+ - 'protocols'
+ - 'tools/protocols/temp'
+ - 'tools/protocols/skywalking-data-collect-protocol'
comment: on-failure
diff --git a/CHANGES.md b/CHANGES.md
index ba08555..10524a6 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -10,11 +10,10 @@ Release Notes.
* Support Kafka reporter.
* Add recover to goroutine to prevent unexpected panics.
* Add mutex to fix some data race.
-
+* Replace external `goapi` dependency with in-repo generated protocols.
#### Plugins
#### Documentation
-
#### Bug Fixes
* Fix plugin interceptors bypassed on Windows.
diff --git a/Makefile b/Makefile
index b08b3dd..a9dea81 100644
--- a/Makefile
+++ b/Makefile
@@ -57,6 +57,12 @@ deps:
linter:
$(GO_LINT) version || curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GO_PATH)/bin v1.50.0
+##@ General
+
+.PHONY: generate
+generate: ## generate data collect proto
+ $(SH) $(REPODIR)tools/protocols/generate.sh
+
##@ Golang
diff --git a/agent/core/compile.go b/agent/core/compile.go
index 7b5105c..c511ac0 100644
--- a/agent/core/compile.go
+++ b/agent/core/compile.go
@@ -50,9 +50,9 @@ import (
_ "github.com/pkg/errors"
//go:nolint
- _ "skywalking.apache.org/repo/goapi/collect/common/v3"
- _ "skywalking.apache.org/repo/goapi/collect/event/v3"
- _ "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
- _ "skywalking.apache.org/repo/goapi/collect/language/profile/v3"
- _ "skywalking.apache.org/repo/goapi/collect/logging/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/common/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/event/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/language/profile/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/logging/v3"
)
diff --git a/agent/core/tracing/compile.go b/agent/core/tracing/compile.go
index 6668809..07d19e4 100644
--- a/agent/core/tracing/compile.go
+++ b/agent/core/tracing/compile.go
@@ -30,6 +30,6 @@ import (
_ "github.com/apache/skywalking-go/agent/reporter"
//go:nolint
- _ "skywalking.apache.org/repo/goapi/collect/common/v3"
- _ "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/common/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
)
diff --git a/agent/reporter/imports.go b/agent/reporter/imports.go
index 2b78317..e1c6fd6 100644
--- a/agent/reporter/imports.go
+++ b/agent/reporter/imports.go
@@ -62,14 +62,14 @@ import (
_ "google.golang.org/protobuf/proto"
// imports protocols between agent and backend
- _ "skywalking.apache.org/repo/goapi/collect/agent/configuration/v3"
- _ "skywalking.apache.org/repo/goapi/collect/common/v3"
- _ "skywalking.apache.org/repo/goapi/collect/ebpf/profiling/process/v3"
- _ "skywalking.apache.org/repo/goapi/collect/ebpf/profiling/v3"
- _ "skywalking.apache.org/repo/goapi/collect/event/v3"
- _ "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
- _ "skywalking.apache.org/repo/goapi/collect/language/profile/v3"
- _ "skywalking.apache.org/repo/goapi/collect/logging/v3"
- _ "skywalking.apache.org/repo/goapi/collect/management/v3"
- _ "skywalking.apache.org/repo/goapi/collect/servicemesh/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/agent/configuration/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/common/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/ebpf/profiling/process/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/ebpf/profiling/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/event/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/language/profile/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/logging/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/management/v3"
+ _ "github.com/apache/skywalking-go/protocols/collect/servicemesh/v3"
)
diff --git a/go.mod b/go.mod
index a6d2a67..61ece15 100644
--- a/go.mod
+++ b/go.mod
@@ -5,16 +5,18 @@ go 1.19
require (
github.com/google/uuid v1.3.0
github.com/pkg/errors v0.9.1
+ github.com/segmentio/kafka-go v0.4.43
+ golang.org/x/net v0.10.0 // indirect
+ golang.org/x/sys v0.8.0 // indirect
+ golang.org/x/text v0.13.0 // indirect
google.golang.org/grpc v1.55.0
- skywalking.apache.org/repo/goapi v0.0.0-20230314034821-0c5a44bb767a
+ google.golang.org/protobuf v1.30.0
)
require (
github.com/golang/protobuf v1.5.3 // indirect
github.com/google/go-cmp v0.5.9 // indirect
- golang.org/x/net v0.10.0 // indirect
- golang.org/x/sys v0.8.0 // indirect
- golang.org/x/text v0.9.0 // indirect
+ github.com/klauspost/compress v1.15.9 // indirect
+ github.com/pierrec/lz4/v4 v4.1.15 // indirect
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect
- google.golang.org/protobuf v1.30.0 // indirect
)
diff --git a/go.sum b/go.sum
index d755fa1..f02da08 100644
--- a/go.sum
+++ b/go.sum
@@ -1,105 +1,49 @@
-cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
-github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
-github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
-github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
-github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
-github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
-github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
-github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
-github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
-github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
-github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
-github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
-github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
-github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
-github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
-github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
-github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
-github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
-github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
-github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
-github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
-github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
-github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
-github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
-github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
+github.com/klauspost/compress v1.15.9 h1:wKRjX6JRtDdrE9qwa4b/Cip7ACOshUI4smpCQanqjSY=
+github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
+github.com/pierrec/lz4/v4 v4.1.15 h1:MO0/ucJhngq7299dKLwIMtgTfbkoSPF6AoMYDd8Q4q0=
+github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
-github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
+github.com/segmentio/kafka-go v0.4.43 h1:yKVQ/i6BobbX7AWzwkhulsEn47wpLA8eO6H03bCMqYg=
+github.com/segmentio/kafka-go v0.4.43/go.mod h1:d0g15xPMqoUookug0OU75DhGZxXwCFxSLeJ4uphwJzg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
-github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
+github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
+github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
+github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c=
+github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
+github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY=
+github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4=
+github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8=
+github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
-go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
-golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
-golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
-golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
-golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
-golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
-golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -111,61 +55,25 @@ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuX
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
-golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
+golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
-golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
-google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
-google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
-google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24=
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A=
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
-google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
-google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
-google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
-google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
-google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
-google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag=
google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8=
-google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
-google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
-google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
-google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
-google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
-google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.29.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=
google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-skywalking.apache.org/repo/goapi v0.0.0-20230314034821-0c5a44bb767a h1:m8DTnaSEOEnPXRWmA6g7isbdqw7WPZP6SnaEHz1Sx7s=
-skywalking.apache.org/repo/goapi v0.0.0-20230314034821-0c5a44bb767a/go.mod h1:LcZMcxDjdJPn5yetydFnxe0l7rmiv8lvHEnzRbsey14=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
+gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/go.work.sum b/go.work.sum
index 724f218..c50e493 100644
--- a/go.work.sum
+++ b/go.work.sum
@@ -1002,6 +1002,8 @@ github.com/gonum/matrix v0.0.0-20181209220409-c518dec07be9 h1:V2IgdyerlBa/MxaEFR
github.com/gonum/stat v0.0.0-20181125101827-41a0da705a5b h1:fbskpz/cPqWH8VqkQ7LJghFkl2KPAiIFUHrTJ2O3RGk=
github.com/google/flatbuffers v2.0.8+incompatible h1:ivUb1cGomAB101ZM1T0nOiWz9pSrTMoa9+EiY7igmkM=
github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
+github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
+github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-containerregistry v0.5.1 h1:/+mFTs4AlwsJ/mJe8NDtKb7BxLtbZFpcn8vDsneEkwQ=
github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0=
github.com/google/go-github/v32 v32.1.0 h1:GWkQOdXqviCPx7Q7Fj+KyPoGm4SwHRh8rheoPhd27II=
@@ -1603,8 +1605,6 @@ github.com/vultr/govultr/v2 v2.16.0/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49
github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=
github.com/willf/bitset v1.1.11 h1:N7Z7E9UvjW+sGsEl7k/SJrvY2reP1A07MrGuCjIOjRE=
github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI=
-github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY=
-github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8=
github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c h1:u40Z8hqBAAQyv+vATcGgV0YCnDjqSL7/q/JyPhhJSPk=
github.com/xdg/stringprep v1.0.0 h1:d9X0esnoa3dFsV0FG35rAT0RIhYFlPq7MiP+DW89La0=
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
@@ -1694,6 +1694,8 @@ golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIi
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30=
golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
+golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
+golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4 h1:c2HOrn5iMezYjSlGPncknSEr/8x5LELb/ilJbXi9DEA=
golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5 h1:FR+oGxGfbQu1d+jglI3rCkjAjUnhRSZcUxr+DqlDLNo=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b h1:+qEpEAPhDZ1o0x3tHzZTQDArnOixOzGD9HUJfcg0mb4=
@@ -1701,6 +1703,8 @@ golang.org/x/image v0.0.0-20220413100746-70e8d0d3baa9 h1:LRtI4W37N+KFebI/qV0OFiL
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs=
golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
+golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -1726,6 +1730,9 @@ golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g=
golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4=
golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
+golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
+golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.0.0-20180622082034-63fc586f45fe/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -1767,6 +1774,8 @@ golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2 h1:IRJeR9r1pYWsHKTRe/IInb7lYvbBVIqOgsX/u0mbOWY=
+golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
golang.org/x/term v0.0.0-20201113234701-d7a72108b828/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
@@ -1775,10 +1784,14 @@ golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c=
golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o=
golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0=
golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
+golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww=
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q=
golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk=
+golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
+golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
+golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4=
@@ -1796,6 +1809,9 @@ golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roY
golang.org/x/tools v0.0.0-20200616133436-c1934b75d054/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200916195026-c9a70fc28ce3/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU=
golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
+golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
+golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg=
+golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk=
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
gonum.org/v1/gonum v0.8.2 h1:CCXrcPKiGGotvnN6jfUsKk4rRqm7q09/YbKb5xCEvtM=
diff --git a/plugins/core/go.mod b/plugins/core/go.mod
index 0b59f06..fd3e16f 100644
--- a/plugins/core/go.mod
+++ b/plugins/core/go.mod
@@ -9,7 +9,6 @@ require (
github.com/stretchr/testify v1.8.2
google.golang.org/grpc v1.55.0
github.com/segmentio/kafka-go v0.4.47
- skywalking.apache.org/repo/goapi v0.0.0-20230314034821-0c5a44bb767a
)
require (
diff --git a/plugins/core/logreport.go b/plugins/core/logreport.go
index e8c702c..113374d 100644
--- a/plugins/core/logreport.go
+++ b/plugins/core/logreport.go
@@ -24,8 +24,8 @@ import (
"github.com/apache/skywalking-go/plugins/core/operator"
- commonv3 "skywalking.apache.org/repo/goapi/collect/common/v3"
- logv3 "skywalking.apache.org/repo/goapi/collect/logging/v3"
+ commonv3 "github.com/apache/skywalking-go/protocols/collect/common/v3"
+ logv3 "github.com/apache/skywalking-go/protocols/collect/logging/v3"
)
func (t *Tracer) LogReporter() interface{} {
diff --git a/plugins/core/reporter/api.go b/plugins/core/reporter/api.go
index a412b84..1d35b75 100644
--- a/plugins/core/reporter/api.go
+++ b/plugins/core/reporter/api.go
@@ -18,9 +18,9 @@
package reporter
import (
- commonv3 "skywalking.apache.org/repo/goapi/collect/common/v3"
- agentv3 "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
- logv3 "skywalking.apache.org/repo/goapi/collect/logging/v3"
+ commonv3 "github.com/apache/skywalking-go/protocols/collect/common/v3"
+ agentv3 "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
+ logv3 "github.com/apache/skywalking-go/protocols/collect/logging/v3"
)
// Tag are supported by sky-walking engine.
diff --git a/plugins/core/reporter/cds_manager.go b/plugins/core/reporter/cds_manager.go
index 54db55c..a37865c 100644
--- a/plugins/core/reporter/cds_manager.go
+++ b/plugins/core/reporter/cds_manager.go
@@ -23,7 +23,7 @@ import (
"github.com/apache/skywalking-go/plugins/core/operator"
- configuration "skywalking.apache.org/repo/goapi/collect/agent/configuration/v3"
+ configuration "github.com/apache/skywalking-go/protocols/collect/agent/configuration/v3"
)
type CDSManager struct {
diff --git a/plugins/core/reporter/config_discovery.go b/plugins/core/reporter/config_discovery.go
index 3c1e37a..4c6a576 100644
--- a/plugins/core/reporter/config_discovery.go
+++ b/plugins/core/reporter/config_discovery.go
@@ -17,7 +17,7 @@
package reporter
-import common "skywalking.apache.org/repo/goapi/collect/common/v3"
+import common "github.com/apache/skywalking-go/protocols/collect/common/v3"
type AgentConfigEventType int32
diff --git a/plugins/core/reporter/discard_reporter.go b/plugins/core/reporter/discard_reporter.go
index 4ac5cc1..e1b5f38 100644
--- a/plugins/core/reporter/discard_reporter.go
+++ b/plugins/core/reporter/discard_reporter.go
@@ -17,7 +17,7 @@
package reporter
-import logv3 "skywalking.apache.org/repo/goapi/collect/logging/v3"
+import logv3 "github.com/apache/skywalking-go/protocols/collect/logging/v3"
type discardReporter struct{}
diff --git a/plugins/core/reporter/grpc/grpc.go b/plugins/core/reporter/grpc/grpc.go
index e41b30a..6734ea7 100644
--- a/plugins/core/reporter/grpc/grpc.go
+++ b/plugins/core/reporter/grpc/grpc.go
@@ -24,9 +24,9 @@ import (
"google.golang.org/grpc/metadata"
- agentv3 "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
- logv3 "skywalking.apache.org/repo/goapi/collect/logging/v3"
- managementv3 "skywalking.apache.org/repo/goapi/collect/management/v3"
+ agentv3 "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
+ logv3 "github.com/apache/skywalking-go/protocols/collect/logging/v3"
+ managementv3 "github.com/apache/skywalking-go/protocols/collect/management/v3"
"github.com/apache/skywalking-go/plugins/core/operator"
"github.com/apache/skywalking-go/plugins/core/reporter"
diff --git a/plugins/core/reporter/grpc/grpc_opts_enhance.go b/plugins/core/reporter/grpc/grpc_opts_enhance.go
index e05a841..cdeff1e 100644
--- a/plugins/core/reporter/grpc/grpc_opts_enhance.go
+++ b/plugins/core/reporter/grpc/grpc_opts_enhance.go
@@ -18,8 +18,8 @@
package grpc
import (
- agentv3 "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
- logv3 "skywalking.apache.org/repo/goapi/collect/logging/v3"
+ agentv3 "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
+ logv3 "github.com/apache/skywalking-go/protocols/collect/logging/v3"
)
// ReporterOption allows for functional options to adjust behavior
diff --git a/plugins/core/reporter/kafka/kafka.go b/plugins/core/reporter/kafka/kafka.go
index 8e25d73..c0c1430 100644
--- a/plugins/core/reporter/kafka/kafka.go
+++ b/plugins/core/reporter/kafka/kafka.go
@@ -25,9 +25,10 @@ import (
"github.com/segmentio/kafka-go"
"github.com/segmentio/kafka-go/compress"
"google.golang.org/protobuf/proto"
- agentv3 "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
- logv3 "skywalking.apache.org/repo/goapi/collect/logging/v3"
- managementv3 "skywalking.apache.org/repo/goapi/collect/management/v3"
+
+ agentv3 "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
+ logv3 "github.com/apache/skywalking-go/protocols/collect/logging/v3"
+ managementv3 "github.com/apache/skywalking-go/protocols/collect/management/v3"
"github.com/apache/skywalking-go/plugins/core/operator"
"github.com/apache/skywalking-go/plugins/core/reporter"
diff --git a/plugins/core/reporter/kafka/kafka_opts_enhance.go b/plugins/core/reporter/kafka/kafka_opts_enhance.go
index cbd80a2..cc3c886 100644
--- a/plugins/core/reporter/kafka/kafka_opts_enhance.go
+++ b/plugins/core/reporter/kafka/kafka_opts_enhance.go
@@ -20,10 +20,10 @@ package kafka
import (
"time"
- logv3 "skywalking.apache.org/repo/goapi/collect/logging/v3"
-
"github.com/segmentio/kafka-go"
- agentv3 "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
+
+ agentv3 "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
+ logv3 "github.com/apache/skywalking-go/protocols/collect/logging/v3"
)
type ReporterOptionKafka func(r *kafkaReporter)
diff --git a/plugins/core/reporter/transform.go b/plugins/core/reporter/transform.go
index 62bca9c..4cb89d1 100644
--- a/plugins/core/reporter/transform.go
+++ b/plugins/core/reporter/transform.go
@@ -20,7 +20,7 @@ package reporter
import (
"time"
- agentv3 "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
+ agentv3 "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
)
type Transform struct {
diff --git a/plugins/core/span.go b/plugins/core/span.go
index 0099ef2..89e2748 100644
--- a/plugins/core/span.go
+++ b/plugins/core/span.go
@@ -20,7 +20,7 @@ package core
import (
"github.com/apache/skywalking-go/plugins/core/tracing"
- agentv3 "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
+ agentv3 "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
)
// SpanType is used to identify entry, exit and local
diff --git a/plugins/core/span_default.go b/plugins/core/span_default.go
index 5d00685..d55593b 100644
--- a/plugins/core/span_default.go
+++ b/plugins/core/span_default.go
@@ -24,8 +24,8 @@ import (
"github.com/apache/skywalking-go/plugins/core/reporter"
- commonv3 "skywalking.apache.org/repo/goapi/collect/common/v3"
- agentv3 "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
+ commonv3 "github.com/apache/skywalking-go/protocols/collect/common/v3"
+ agentv3 "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
)
type DefaultSpan struct {
diff --git a/plugins/core/span_noop.go b/plugins/core/span_noop.go
index 3591445..5fb09ab 100644
--- a/plugins/core/span_noop.go
+++ b/plugins/core/span_noop.go
@@ -18,7 +18,7 @@
package core
import (
- agentv3 "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
+ agentv3 "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
)
const noopContextValue = "N/A"
diff --git a/plugins/core/span_tracing.go b/plugins/core/span_tracing.go
index 87edd7c..fc17d10 100644
--- a/plugins/core/span_tracing.go
+++ b/plugins/core/span_tracing.go
@@ -23,8 +23,8 @@ import (
"github.com/apache/skywalking-go/plugins/core/reporter"
- commonv3 "skywalking.apache.org/repo/goapi/collect/common/v3"
- agentv3 "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
+ commonv3 "github.com/apache/skywalking-go/protocols/collect/common/v3"
+ agentv3 "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
)
func NewSegmentSpan(ctx *TracingContext, defaultSpan *DefaultSpan, parentSpan SegmentSpan) (s SegmentSpan, err error) {
diff --git a/plugins/core/test_base.go b/plugins/core/test_base.go
index 749a653..956955c 100644
--- a/plugins/core/test_base.go
+++ b/plugins/core/test_base.go
@@ -23,7 +23,7 @@ import (
"github.com/apache/skywalking-go/plugins/core/operator"
"github.com/apache/skywalking-go/plugins/core/reporter"
- logv3 "skywalking.apache.org/repo/goapi/collect/logging/v3"
+ logv3 "github.com/apache/skywalking-go/protocols/collect/logging/v3"
)
var tlsData interface{}
diff --git a/plugins/core/tool.go b/plugins/core/tool.go
index 29ef72e..fe97a47 100644
--- a/plugins/core/tool.go
+++ b/plugins/core/tool.go
@@ -27,7 +27,7 @@ import (
"github.com/google/uuid"
- commonv3 "skywalking.apache.org/repo/goapi/collect/common/v3"
+ commonv3 "github.com/apache/skywalking-go/protocols/collect/common/v3"
)
// Millisecond converts time to unix millisecond
diff --git a/plugins/core/tracing_test.go b/plugins/core/tracing_test.go
index a7b464c..c6cac64 100644
--- a/plugins/core/tracing_test.go
+++ b/plugins/core/tracing_test.go
@@ -23,7 +23,7 @@ import (
"github.com/stretchr/testify/assert"
- agentv3 "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
+ agentv3 "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
"github.com/apache/skywalking-go/plugins/core/reporter"
"github.com/apache/skywalking-go/plugins/core/tracing"
diff --git a/plugins/go-restfulv3/filter_test.go b/plugins/go-restfulv3/filter_test.go
index 965236e..cb5bc11 100644
--- a/plugins/go-restfulv3/filter_test.go
+++ b/plugins/go-restfulv3/filter_test.go
@@ -29,7 +29,7 @@ import (
"github.com/stretchr/testify/assert"
- agentv3 "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
+ agentv3 "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
)
func init() {
diff --git a/plugins/kratosv2/transport/grpc/server_test.go b/plugins/kratosv2/transport/grpc/server_test.go
index ad52670..1555b6b 100644
--- a/plugins/kratosv2/transport/grpc/server_test.go
+++ b/plugins/kratosv2/transport/grpc/server_test.go
@@ -36,7 +36,7 @@ import (
nativeGRPC "google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
- agentv3 "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
+ agentv3 "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
)
func init() {
diff --git a/plugins/kratosv2/transport/http/server_test.go b/plugins/kratosv2/transport/http/server_test.go
index d19205f..ec5f422 100644
--- a/plugins/kratosv2/transport/http/server_test.go
+++ b/plugins/kratosv2/transport/http/server_test.go
@@ -33,7 +33,7 @@ import (
"github.com/stretchr/testify/assert"
- agentv3 "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
+ agentv3 "github.com/apache/skywalking-go/protocols/collect/language/agent/v3"
)
func init() {
diff --git a/protocols/collect/agent/configuration/v3/ConfigurationDiscoveryService.pb.go b/protocols/collect/agent/configuration/v3/ConfigurationDiscoveryService.pb.go
new file mode 100644
index 0000000..cfb1609
--- /dev/null
+++ b/protocols/collect/agent/configuration/v3/ConfigurationDiscoveryService.pb.go
@@ -0,0 +1,200 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: language-agent/ConfigurationDiscoveryService.proto
+
+package v3
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ v3 "github.com/apache/skywalking-go/protocols/collect/common/v3"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ConfigurationSyncRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Current agent service name.
+ Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"`
+ // [Optional]
+ // UUID is the unique id to represent the signature of the latest configuration.
+ // The agent usually uses its bootstrap configuration running in default, and this id could be empty when doing the 1st round sync.
+ // The agent could/is recommended to cache the UUID from the last command, and put it as the next round UUID parameter,
+ // then the OAP only returns the empty Commands if no configuration change happenned.
+ Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"`
+}
+
+func (x *ConfigurationSyncRequest) Reset() {
+ *x = ConfigurationSyncRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_language_agent_ConfigurationDiscoveryService_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ConfigurationSyncRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConfigurationSyncRequest) ProtoMessage() {}
+
+func (x *ConfigurationSyncRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_language_agent_ConfigurationDiscoveryService_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConfigurationSyncRequest.ProtoReflect.Descriptor instead.
+func (*ConfigurationSyncRequest) Descriptor() ([]byte, []int) {
+ return file_language_agent_ConfigurationDiscoveryService_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ConfigurationSyncRequest) GetService() string {
+ if x != nil {
+ return x.Service
+ }
+ return ""
+}
+
+func (x *ConfigurationSyncRequest) GetUuid() string {
+ if x != nil {
+ return x.Uuid
+ }
+ return ""
+}
+
+var File_language_agent_ConfigurationDiscoveryService_proto protoreflect.FileDescriptor
+
+var file_language_agent_ConfigurationDiscoveryService_proto_rawDesc = []byte{
+ 0x0a, 0x32, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2d, 0x61, 0x67, 0x65, 0x6e, 0x74,
+ 0x2f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69,
+ 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x33, 0x1a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x43, 0x6f, 0x6d, 0x6d,
+ 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x18, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
+ 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75,
+ 0x75, 0x69, 0x64, 0x32, 0x7a, 0x0a, 0x1d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72,
+ 0x76, 0x69, 0x63, 0x65, 0x12, 0x59, 0x0a, 0x13, 0x66, 0x65, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x2e, 0x73, 0x6b,
+ 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0x00, 0x42,
+ 0x98, 0x01, 0x0a, 0x33, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73,
+ 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x61,
+ 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x50, 0x01, 0x5a, 0x3f, 0x73, 0x6b, 0x79, 0x77, 0x61,
+ 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x6f, 0x72, 0x67,
+ 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x2f, 0x67, 0x6f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6c, 0x6c,
+ 0x65, 0x63, 0x74, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0xaa, 0x02, 0x1d, 0x53, 0x6b, 0x79,
+ 0x57, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50,
+ 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_language_agent_ConfigurationDiscoveryService_proto_rawDescOnce sync.Once
+ file_language_agent_ConfigurationDiscoveryService_proto_rawDescData = file_language_agent_ConfigurationDiscoveryService_proto_rawDesc
+)
+
+func file_language_agent_ConfigurationDiscoveryService_proto_rawDescGZIP() []byte {
+ file_language_agent_ConfigurationDiscoveryService_proto_rawDescOnce.Do(func() {
+ file_language_agent_ConfigurationDiscoveryService_proto_rawDescData = protoimpl.X.CompressGZIP(file_language_agent_ConfigurationDiscoveryService_proto_rawDescData)
+ })
+ return file_language_agent_ConfigurationDiscoveryService_proto_rawDescData
+}
+
+var file_language_agent_ConfigurationDiscoveryService_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_language_agent_ConfigurationDiscoveryService_proto_goTypes = []interface{}{
+ (*ConfigurationSyncRequest)(nil), // 0: skywalking.v3.ConfigurationSyncRequest
+ (*v3.Commands)(nil), // 1: skywalking.v3.Commands
+}
+var file_language_agent_ConfigurationDiscoveryService_proto_depIdxs = []int32{
+ 0, // 0: skywalking.v3.ConfigurationDiscoveryService.fetchConfigurations:input_type -> skywalking.v3.ConfigurationSyncRequest
+ 1, // 1: skywalking.v3.ConfigurationDiscoveryService.fetchConfigurations:output_type -> skywalking.v3.Commands
+ 1, // [1:2] is the sub-list for method output_type
+ 0, // [0:1] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_language_agent_ConfigurationDiscoveryService_proto_init() }
+func file_language_agent_ConfigurationDiscoveryService_proto_init() {
+ if File_language_agent_ConfigurationDiscoveryService_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_language_agent_ConfigurationDiscoveryService_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ConfigurationSyncRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_language_agent_ConfigurationDiscoveryService_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 1,
+ },
+ GoTypes: file_language_agent_ConfigurationDiscoveryService_proto_goTypes,
+ DependencyIndexes: file_language_agent_ConfigurationDiscoveryService_proto_depIdxs,
+ MessageInfos: file_language_agent_ConfigurationDiscoveryService_proto_msgTypes,
+ }.Build()
+ File_language_agent_ConfigurationDiscoveryService_proto = out.File
+ file_language_agent_ConfigurationDiscoveryService_proto_rawDesc = nil
+ file_language_agent_ConfigurationDiscoveryService_proto_goTypes = nil
+ file_language_agent_ConfigurationDiscoveryService_proto_depIdxs = nil
+}
diff --git a/protocols/collect/agent/configuration/v3/ConfigurationDiscoveryService_grpc.pb.go b/protocols/collect/agent/configuration/v3/ConfigurationDiscoveryService_grpc.pb.go
new file mode 100644
index 0000000..f8c12f7
--- /dev/null
+++ b/protocols/collect/agent/configuration/v3/ConfigurationDiscoveryService_grpc.pb.go
@@ -0,0 +1,123 @@
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+
+package v3
+
+import (
+ context "context"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+ v3 "github.com/apache/skywalking-go/protocols/collect/common/v3"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+// ConfigurationDiscoveryServiceClient is the client API for ConfigurationDiscoveryService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type ConfigurationDiscoveryServiceClient interface {
+ // fetchConfigurations service requests the latest configuration.
+ // Expect command of Commands is:
+ //
+ // command: CDS # meaning ConfigurationDiscoveryService's response
+ // args: Include string key and string value pair.
+ // The key depends on the agent implementation.
+ // The value is the latest value in String value. The watcher of key owner takes the responsibility to convert it to the correct type or format.
+ // One reserved key is `UUID`. The value would help reducing the traffic load between agent and OAP if there is no change.
+ //
+ // Commands could be empty if no change detected based on ConfigurationSyncRequest.
+ FetchConfigurations(ctx context.Context, in *ConfigurationSyncRequest, opts ...grpc.CallOption) (*v3.Commands, error)
+}
+
+type configurationDiscoveryServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewConfigurationDiscoveryServiceClient(cc grpc.ClientConnInterface) ConfigurationDiscoveryServiceClient {
+ return &configurationDiscoveryServiceClient{cc}
+}
+
+func (c *configurationDiscoveryServiceClient) FetchConfigurations(ctx context.Context, in *ConfigurationSyncRequest, opts ...grpc.CallOption) (*v3.Commands, error) {
+ out := new(v3.Commands)
+ err := c.cc.Invoke(ctx, "/skywalking.v3.ConfigurationDiscoveryService/fetchConfigurations", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// ConfigurationDiscoveryServiceServer is the server API for ConfigurationDiscoveryService service.
+// All implementations must embed UnimplementedConfigurationDiscoveryServiceServer
+// for forward compatibility
+type ConfigurationDiscoveryServiceServer interface {
+ // fetchConfigurations service requests the latest configuration.
+ // Expect command of Commands is:
+ //
+ // command: CDS # meaning ConfigurationDiscoveryService's response
+ // args: Include string key and string value pair.
+ // The key depends on the agent implementation.
+ // The value is the latest value in String value. The watcher of key owner takes the responsibility to convert it to the correct type or format.
+ // One reserved key is `UUID`. The value would help reducing the traffic load between agent and OAP if there is no change.
+ //
+ // Commands could be empty if no change detected based on ConfigurationSyncRequest.
+ FetchConfigurations(context.Context, *ConfigurationSyncRequest) (*v3.Commands, error)
+ mustEmbedUnimplementedConfigurationDiscoveryServiceServer()
+}
+
+// UnimplementedConfigurationDiscoveryServiceServer must be embedded to have forward compatible implementations.
+type UnimplementedConfigurationDiscoveryServiceServer struct {
+}
+
+func (UnimplementedConfigurationDiscoveryServiceServer) FetchConfigurations(context.Context, *ConfigurationSyncRequest) (*v3.Commands, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method FetchConfigurations not implemented")
+}
+func (UnimplementedConfigurationDiscoveryServiceServer) mustEmbedUnimplementedConfigurationDiscoveryServiceServer() {
+}
+
+// UnsafeConfigurationDiscoveryServiceServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to ConfigurationDiscoveryServiceServer will
+// result in compilation errors.
+type UnsafeConfigurationDiscoveryServiceServer interface {
+ mustEmbedUnimplementedConfigurationDiscoveryServiceServer()
+}
+
+func RegisterConfigurationDiscoveryServiceServer(s grpc.ServiceRegistrar, srv ConfigurationDiscoveryServiceServer) {
+ s.RegisterService(&ConfigurationDiscoveryService_ServiceDesc, srv)
+}
+
+func _ConfigurationDiscoveryService_FetchConfigurations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ConfigurationSyncRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ConfigurationDiscoveryServiceServer).FetchConfigurations(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/skywalking.v3.ConfigurationDiscoveryService/fetchConfigurations",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ConfigurationDiscoveryServiceServer).FetchConfigurations(ctx, req.(*ConfigurationSyncRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+// ConfigurationDiscoveryService_ServiceDesc is the grpc.ServiceDesc for ConfigurationDiscoveryService service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var ConfigurationDiscoveryService_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "skywalking.v3.ConfigurationDiscoveryService",
+ HandlerType: (*ConfigurationDiscoveryServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "fetchConfigurations",
+ Handler: _ConfigurationDiscoveryService_FetchConfigurations_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "language-agent/ConfigurationDiscoveryService.proto",
+}
diff --git a/protocols/collect/common/v3/Command.pb.go b/protocols/collect/common/v3/Command.pb.go
new file mode 100644
index 0000000..814bc63
--- /dev/null
+++ b/protocols/collect/common/v3/Command.pb.go
@@ -0,0 +1,330 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: common/Command.proto
+
+package v3
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// Command represents an protocol customized data when return.
+//
+// When the agent communicates with the OAP side using gRPC, the OAP uses Command to return the data content to the Agent.
+//
+// The available commands are,
+// Name: ConfigurationDiscoveryCommand
+// Args:
+//
+// SerialNumber: String
+// UUID: String
+// properties: Key-value pairs rely on agent-side implementations
+//
+// Ref, Java agent supported configurations, https://skywalking.apache.org/docs/skywalking-java/next/en/setup/service-agent/java-agent/configuration-discovery/
+//
+// Name: ProfileTaskQuery
+// Args:
+//
+// SerialNumber: String
+// TaskId: String
+// EndpointName: String
+// Duration: Integer
+// MinDurationThreshold: Integer
+// DumpPeriod: Integer
+// MaxSamplingCount: Integer
+// StartTime: Date Timestamp
+// CreateTime: Date Timestamp
+//
+// Name: EBPFProfilingTaskQuery
+// Args:
+//
+// TaskId: String
+// ProcessId: Integer List
+// TaskUpdateTime: Date timestamp
+// TriggerType: Enum, value = FIXED_TIME
+// TargetType: Enum, value = ON_CPU, OFF_CPU or NETWORK
+// TaskStartTime: Date Timestamp
+// ExtensionConfigJSON: JSON serialization of NetworkSamplings.
+// --- NetworkSamplings ---
+// NetworkSamplings: List
+// URIRegex: String
+// MinDuration: Integer
+// When4xx: Boolean
+// When5xx: Boolean
+// Settings: Object
+// RequireCompleteRequest: Boolean
+// MaxRequestSize: Integer
+// RequireCompleteResponse: Boolean
+// MaxResponseSize: Integer
+// ------------------------
+// FixedTriggerDuration: Long
+//
+// Name: ContinuousProfilingPolicyQuery
+// Args:
+//
+// ServiceWithPolicyJSON: List JSON serialization of ServiceWithPolicy.
+// --- ServiceWithPolicy ---
+// ServiceName: String
+// UUID: String
+// Profiling: Multiple profiling configuration. Map
+// Key: Profiling type. Enum, value = ON_CPU, OFF_CPU, NETWORK
+// Value: Profiling policies. Map
+// Key: Monitoring type. Enum, value = PROCESS_CPU, PROCESS_THREAD_COUNT, SYSTEM_LOAD, HTTP_ERROR_RATE, HTTP_AVG_RESPONSE_TIME
+// Value: Policy configuration. Object.
+// Threshold: String
+// Period(s): Integer
+// Count: Integer
+// URIList: List<String>
+// URIRegex: String
+// ---------------------------
+//
+// Name: ContinuousProfilingReportTask
+// Args:
+//
+// TaskId: String
+type Command struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Use command name to distinguish different data type.
+ Command string `protobuf:"bytes,1,opt,name=command,proto3" json:"command,omitempty"`
+ // Data content in command.
+ // The value of content needs to be serialized as string for transmission.
+ //
+ // Basic data type: convert as string.
+ // The list of basic data: multiple data are split by ",".
+ // Complex data: serialize string through json.
+ Args []*KeyStringValuePair `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"`
+}
+
+func (x *Command) Reset() {
+ *x = Command{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_common_Command_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Command) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Command) ProtoMessage() {}
+
+func (x *Command) ProtoReflect() protoreflect.Message {
+ mi := &file_common_Command_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Command.ProtoReflect.Descriptor instead.
+func (*Command) Descriptor() ([]byte, []int) {
+ return file_common_Command_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Command) GetCommand() string {
+ if x != nil {
+ return x.Command
+ }
+ return ""
+}
+
+func (x *Command) GetArgs() []*KeyStringValuePair {
+ if x != nil {
+ return x.Args
+ }
+ return nil
+}
+
+// Transferring multiple Command in agent and OAP.
+type Commands struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Commands []*Command `protobuf:"bytes,1,rep,name=commands,proto3" json:"commands,omitempty"`
+}
+
+func (x *Commands) Reset() {
+ *x = Commands{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_common_Command_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Commands) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Commands) ProtoMessage() {}
+
+func (x *Commands) ProtoReflect() protoreflect.Message {
+ mi := &file_common_Command_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Commands.ProtoReflect.Descriptor instead.
+func (*Commands) Descriptor() ([]byte, []int) {
+ return file_common_Command_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *Commands) GetCommands() []*Command {
+ if x != nil {
+ return x.Commands
+ }
+ return nil
+}
+
+var File_common_Command_proto protoreflect.FileDescriptor
+
+var file_common_Command_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x43, 0x6f,
+ 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5a, 0x0a, 0x07, 0x43, 0x6f,
+ 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12,
+ 0x35, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e,
+ 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4b, 0x65,
+ 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72,
+ 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x3e, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
+ 0x64, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x08, 0x63, 0x6f,
+ 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x42, 0x83, 0x01, 0x0a, 0x2b, 0x6f, 0x72, 0x67, 0x2e, 0x61,
+ 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x50, 0x01, 0x5a, 0x32, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x2f,
+ 0x72, 0x65, 0x70, 0x6f, 0x2f, 0x67, 0x6f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65,
+ 0x63, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0xaa, 0x02, 0x1d, 0x53,
+ 0x6b, 0x79, 0x57, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_common_Command_proto_rawDescOnce sync.Once
+ file_common_Command_proto_rawDescData = file_common_Command_proto_rawDesc
+)
+
+func file_common_Command_proto_rawDescGZIP() []byte {
+ file_common_Command_proto_rawDescOnce.Do(func() {
+ file_common_Command_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_Command_proto_rawDescData)
+ })
+ return file_common_Command_proto_rawDescData
+}
+
+var file_common_Command_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_common_Command_proto_goTypes = []interface{}{
+ (*Command)(nil), // 0: skywalking.v3.Command
+ (*Commands)(nil), // 1: skywalking.v3.Commands
+ (*KeyStringValuePair)(nil), // 2: skywalking.v3.KeyStringValuePair
+}
+var file_common_Command_proto_depIdxs = []int32{
+ 2, // 0: skywalking.v3.Command.args:type_name -> skywalking.v3.KeyStringValuePair
+ 0, // 1: skywalking.v3.Commands.commands:type_name -> skywalking.v3.Command
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_common_Command_proto_init() }
+func file_common_Command_proto_init() {
+ if File_common_Command_proto != nil {
+ return
+ }
+ file_common_Common_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_common_Command_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Command); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_common_Command_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Commands); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_common_Command_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_common_Command_proto_goTypes,
+ DependencyIndexes: file_common_Command_proto_depIdxs,
+ MessageInfos: file_common_Command_proto_msgTypes,
+ }.Build()
+ File_common_Command_proto = out.File
+ file_common_Command_proto_rawDesc = nil
+ file_common_Command_proto_goTypes = nil
+ file_common_Command_proto_depIdxs = nil
+}
diff --git a/protocols/collect/common/v3/Common.pb.go b/protocols/collect/common/v3/Common.pb.go
new file mode 100644
index 0000000..67f6edd
--- /dev/null
+++ b/protocols/collect/common/v3/Common.pb.go
@@ -0,0 +1,451 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: common/Common.proto
+
+package v3
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// In most cases, detect point should be `server` or `client`.
+// Even in service mesh, this means `server`/`client` side sidecar
+// `proxy` is reserved only.
+type DetectPoint int32
+
+const (
+ DetectPoint_client DetectPoint = 0
+ DetectPoint_server DetectPoint = 1
+ DetectPoint_proxy DetectPoint = 2
+)
+
+// Enum value maps for DetectPoint.
+var (
+ DetectPoint_name = map[int32]string{
+ 0: "client",
+ 1: "server",
+ 2: "proxy",
+ }
+ DetectPoint_value = map[string]int32{
+ "client": 0,
+ "server": 1,
+ "proxy": 2,
+ }
+)
+
+func (x DetectPoint) Enum() *DetectPoint {
+ p := new(DetectPoint)
+ *p = x
+ return p
+}
+
+func (x DetectPoint) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (DetectPoint) Descriptor() protoreflect.EnumDescriptor {
+ return file_common_Common_proto_enumTypes[0].Descriptor()
+}
+
+func (DetectPoint) Type() protoreflect.EnumType {
+ return &file_common_Common_proto_enumTypes[0]
+}
+
+func (x DetectPoint) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use DetectPoint.Descriptor instead.
+func (DetectPoint) EnumDescriptor() ([]byte, []int) {
+ return file_common_Common_proto_rawDescGZIP(), []int{0}
+}
+
+type KeyStringValuePair struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
+ Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+func (x *KeyStringValuePair) Reset() {
+ *x = KeyStringValuePair{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_common_Common_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *KeyStringValuePair) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*KeyStringValuePair) ProtoMessage() {}
+
+func (x *KeyStringValuePair) ProtoReflect() protoreflect.Message {
+ mi := &file_common_Common_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use KeyStringValuePair.ProtoReflect.Descriptor instead.
+func (*KeyStringValuePair) Descriptor() ([]byte, []int) {
+ return file_common_Common_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *KeyStringValuePair) GetKey() string {
+ if x != nil {
+ return x.Key
+ }
+ return ""
+}
+
+func (x *KeyStringValuePair) GetValue() string {
+ if x != nil {
+ return x.Value
+ }
+ return ""
+}
+
+// since v3.1
+// An extension of KeyStringValuePair represents a kind of metric value for the key.
+type KeyIntValuePair struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
+ Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+func (x *KeyIntValuePair) Reset() {
+ *x = KeyIntValuePair{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_common_Common_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *KeyIntValuePair) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*KeyIntValuePair) ProtoMessage() {}
+
+func (x *KeyIntValuePair) ProtoReflect() protoreflect.Message {
+ mi := &file_common_Common_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use KeyIntValuePair.ProtoReflect.Descriptor instead.
+func (*KeyIntValuePair) Descriptor() ([]byte, []int) {
+ return file_common_Common_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *KeyIntValuePair) GetKey() string {
+ if x != nil {
+ return x.Key
+ }
+ return ""
+}
+
+func (x *KeyIntValuePair) GetValue() int64 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+type CPU struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UsagePercent float64 `protobuf:"fixed64,2,opt,name=usagePercent,proto3" json:"usagePercent,omitempty"`
+}
+
+func (x *CPU) Reset() {
+ *x = CPU{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_common_Common_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CPU) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CPU) ProtoMessage() {}
+
+func (x *CPU) ProtoReflect() protoreflect.Message {
+ mi := &file_common_Common_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CPU.ProtoReflect.Descriptor instead.
+func (*CPU) Descriptor() ([]byte, []int) {
+ return file_common_Common_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *CPU) GetUsagePercent() float64 {
+ if x != nil {
+ return x.UsagePercent
+ }
+ return 0
+}
+
+// since v3.1
+// An instantaneous point on the time-line.
+// An instant represents a data point accurate to the nanosecond.
+// It is constituted by a long representing epoch-seconds and an int representing nanosecond-of-second,
+// which will always be between 0 and 999,999,999
+type Instant struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The number of seconds from the epoch of 1970-01-01T00:00:00Z.
+ Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
+ // The number of nanoseconds, later along the time-line, from the seconds field.
+ // This is always positive, and never exceeds 999,999,999.
+ Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"`
+}
+
+func (x *Instant) Reset() {
+ *x = Instant{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_common_Common_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Instant) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Instant) ProtoMessage() {}
+
+func (x *Instant) ProtoReflect() protoreflect.Message {
+ mi := &file_common_Common_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Instant.ProtoReflect.Descriptor instead.
+func (*Instant) Descriptor() ([]byte, []int) {
+ return file_common_Common_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *Instant) GetSeconds() int64 {
+ if x != nil {
+ return x.Seconds
+ }
+ return 0
+}
+
+func (x *Instant) GetNanos() int32 {
+ if x != nil {
+ return x.Nanos
+ }
+ return 0
+}
+
+var File_common_Common_proto protoreflect.FileDescriptor
+
+var file_common_Common_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x33, 0x22, 0x3c, 0x0a, 0x12, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e,
+ 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x22, 0x39, 0x0a, 0x0f, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x29, 0x0a,
+ 0x03, 0x43, 0x50, 0x55, 0x12, 0x22, 0x0a, 0x0c, 0x75, 0x73, 0x61, 0x67, 0x65, 0x50, 0x65, 0x72,
+ 0x63, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x75, 0x73, 0x61, 0x67,
+ 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x39, 0x0a, 0x07, 0x49, 0x6e, 0x73, 0x74,
+ 0x61, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x14, 0x0a,
+ 0x05, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6e, 0x61,
+ 0x6e, 0x6f, 0x73, 0x2a, 0x30, 0x0a, 0x0b, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x10, 0x00, 0x12, 0x0a,
+ 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x70, 0x72,
+ 0x6f, 0x78, 0x79, 0x10, 0x02, 0x42, 0x83, 0x01, 0x0a, 0x2b, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70,
+ 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x61, 0x70, 0x6d, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x50, 0x01, 0x5a, 0x32, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x72,
+ 0x65, 0x70, 0x6f, 0x2f, 0x67, 0x6f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
+ 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0xaa, 0x02, 0x1d, 0x53, 0x6b,
+ 0x79, 0x57, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_common_Common_proto_rawDescOnce sync.Once
+ file_common_Common_proto_rawDescData = file_common_Common_proto_rawDesc
+)
+
+func file_common_Common_proto_rawDescGZIP() []byte {
+ file_common_Common_proto_rawDescOnce.Do(func() {
+ file_common_Common_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_Common_proto_rawDescData)
+ })
+ return file_common_Common_proto_rawDescData
+}
+
+var file_common_Common_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_common_Common_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
+var file_common_Common_proto_goTypes = []interface{}{
+ (DetectPoint)(0), // 0: skywalking.v3.DetectPoint
+ (*KeyStringValuePair)(nil), // 1: skywalking.v3.KeyStringValuePair
+ (*KeyIntValuePair)(nil), // 2: skywalking.v3.KeyIntValuePair
+ (*CPU)(nil), // 3: skywalking.v3.CPU
+ (*Instant)(nil), // 4: skywalking.v3.Instant
+}
+var file_common_Common_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_common_Common_proto_init() }
+func file_common_Common_proto_init() {
+ if File_common_Common_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_common_Common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*KeyStringValuePair); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_common_Common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*KeyIntValuePair); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_common_Common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CPU); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_common_Common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Instant); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_common_Common_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 4,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_common_Common_proto_goTypes,
+ DependencyIndexes: file_common_Common_proto_depIdxs,
+ EnumInfos: file_common_Common_proto_enumTypes,
+ MessageInfos: file_common_Common_proto_msgTypes,
+ }.Build()
+ File_common_Common_proto = out.File
+ file_common_Common_proto_rawDesc = nil
+ file_common_Common_proto_goTypes = nil
+ file_common_Common_proto_depIdxs = nil
+}
diff --git a/protocols/collect/ebpf/accesslog/v3/accesslog.pb.go b/protocols/collect/ebpf/accesslog/v3/accesslog.pb.go
new file mode 100644
index 0000000..9a57eb7
--- /dev/null
+++ b/protocols/collect/ebpf/accesslog/v3/accesslog.pb.go
@@ -0,0 +1,3817 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ebpf/accesslog.proto
+
+package v3
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ v3 "github.com/apache/skywalking-go/protocols/collect/common/v3"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ZTunnelAttachmentEnvironmentDetectBy int32
+
+const (
+ ZTunnelAttachmentEnvironmentDetectBy_ZTUNNEL_OUTBOUND_FUNC ZTunnelAttachmentEnvironmentDetectBy = 0
+ ZTunnelAttachmentEnvironmentDetectBy_ZTUNNEL_INBOUND_FUNC ZTunnelAttachmentEnvironmentDetectBy = 1
+)
+
+// Enum value maps for ZTunnelAttachmentEnvironmentDetectBy.
+var (
+ ZTunnelAttachmentEnvironmentDetectBy_name = map[int32]string{
+ 0: "ZTUNNEL_OUTBOUND_FUNC",
+ 1: "ZTUNNEL_INBOUND_FUNC",
+ }
+ ZTunnelAttachmentEnvironmentDetectBy_value = map[string]int32{
+ "ZTUNNEL_OUTBOUND_FUNC": 0,
+ "ZTUNNEL_INBOUND_FUNC": 1,
+ }
+)
+
+func (x ZTunnelAttachmentEnvironmentDetectBy) Enum() *ZTunnelAttachmentEnvironmentDetectBy {
+ p := new(ZTunnelAttachmentEnvironmentDetectBy)
+ *p = x
+ return p
+}
+
+func (x ZTunnelAttachmentEnvironmentDetectBy) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ZTunnelAttachmentEnvironmentDetectBy) Descriptor() protoreflect.EnumDescriptor {
+ return file_ebpf_accesslog_proto_enumTypes[0].Descriptor()
+}
+
+func (ZTunnelAttachmentEnvironmentDetectBy) Type() protoreflect.EnumType {
+ return &file_ebpf_accesslog_proto_enumTypes[0]
+}
+
+func (x ZTunnelAttachmentEnvironmentDetectBy) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ZTunnelAttachmentEnvironmentDetectBy.Descriptor instead.
+func (ZTunnelAttachmentEnvironmentDetectBy) EnumDescriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{0}
+}
+
+type ZTunnelAttachmentSecurityPolicy int32
+
+const (
+ ZTunnelAttachmentSecurityPolicy_MTLS ZTunnelAttachmentSecurityPolicy = 0
+ ZTunnelAttachmentSecurityPolicy_NONE ZTunnelAttachmentSecurityPolicy = 1
+)
+
+// Enum value maps for ZTunnelAttachmentSecurityPolicy.
+var (
+ ZTunnelAttachmentSecurityPolicy_name = map[int32]string{
+ 0: "MTLS",
+ 1: "NONE",
+ }
+ ZTunnelAttachmentSecurityPolicy_value = map[string]int32{
+ "MTLS": 0,
+ "NONE": 1,
+ }
+)
+
+func (x ZTunnelAttachmentSecurityPolicy) Enum() *ZTunnelAttachmentSecurityPolicy {
+ p := new(ZTunnelAttachmentSecurityPolicy)
+ *p = x
+ return p
+}
+
+func (x ZTunnelAttachmentSecurityPolicy) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ZTunnelAttachmentSecurityPolicy) Descriptor() protoreflect.EnumDescriptor {
+ return file_ebpf_accesslog_proto_enumTypes[1].Descriptor()
+}
+
+func (ZTunnelAttachmentSecurityPolicy) Type() protoreflect.EnumType {
+ return &file_ebpf_accesslog_proto_enumTypes[1]
+}
+
+func (x ZTunnelAttachmentSecurityPolicy) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ZTunnelAttachmentSecurityPolicy.Descriptor instead.
+func (ZTunnelAttachmentSecurityPolicy) EnumDescriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{1}
+}
+
+type AccessLogConnectionTLSMode int32
+
+const (
+ AccessLogConnectionTLSMode_Plain AccessLogConnectionTLSMode = 0
+ AccessLogConnectionTLSMode_TLS AccessLogConnectionTLSMode = 1
+)
+
+// Enum value maps for AccessLogConnectionTLSMode.
+var (
+ AccessLogConnectionTLSMode_name = map[int32]string{
+ 0: "Plain",
+ 1: "TLS",
+ }
+ AccessLogConnectionTLSMode_value = map[string]int32{
+ "Plain": 0,
+ "TLS": 1,
+ }
+)
+
+func (x AccessLogConnectionTLSMode) Enum() *AccessLogConnectionTLSMode {
+ p := new(AccessLogConnectionTLSMode)
+ *p = x
+ return p
+}
+
+func (x AccessLogConnectionTLSMode) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AccessLogConnectionTLSMode) Descriptor() protoreflect.EnumDescriptor {
+ return file_ebpf_accesslog_proto_enumTypes[2].Descriptor()
+}
+
+func (AccessLogConnectionTLSMode) Type() protoreflect.EnumType {
+ return &file_ebpf_accesslog_proto_enumTypes[2]
+}
+
+func (x AccessLogConnectionTLSMode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use AccessLogConnectionTLSMode.Descriptor instead.
+func (AccessLogConnectionTLSMode) EnumDescriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{2}
+}
+
+type AccessLogHTTPProtocolVersion int32
+
+const (
+ AccessLogHTTPProtocolVersion_HTTP1 AccessLogHTTPProtocolVersion = 0
+ AccessLogHTTPProtocolVersion_HTTP2 AccessLogHTTPProtocolVersion = 1
+)
+
+// Enum value maps for AccessLogHTTPProtocolVersion.
+var (
+ AccessLogHTTPProtocolVersion_name = map[int32]string{
+ 0: "HTTP1",
+ 1: "HTTP2",
+ }
+ AccessLogHTTPProtocolVersion_value = map[string]int32{
+ "HTTP1": 0,
+ "HTTP2": 1,
+ }
+)
+
+func (x AccessLogHTTPProtocolVersion) Enum() *AccessLogHTTPProtocolVersion {
+ p := new(AccessLogHTTPProtocolVersion)
+ *p = x
+ return p
+}
+
+func (x AccessLogHTTPProtocolVersion) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AccessLogHTTPProtocolVersion) Descriptor() protoreflect.EnumDescriptor {
+ return file_ebpf_accesslog_proto_enumTypes[3].Descriptor()
+}
+
+func (AccessLogHTTPProtocolVersion) Type() protoreflect.EnumType {
+ return &file_ebpf_accesslog_proto_enumTypes[3]
+}
+
+func (x AccessLogHTTPProtocolVersion) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use AccessLogHTTPProtocolVersion.Descriptor instead.
+func (AccessLogHTTPProtocolVersion) EnumDescriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{3}
+}
+
+type AccessLogTraceInfoProvider int32
+
+const (
+ AccessLogTraceInfoProvider_Zipkin AccessLogTraceInfoProvider = 0
+ AccessLogTraceInfoProvider_SkyWalking AccessLogTraceInfoProvider = 1
+)
+
+// Enum value maps for AccessLogTraceInfoProvider.
+var (
+ AccessLogTraceInfoProvider_name = map[int32]string{
+ 0: "Zipkin",
+ 1: "SkyWalking",
+ }
+ AccessLogTraceInfoProvider_value = map[string]int32{
+ "Zipkin": 0,
+ "SkyWalking": 1,
+ }
+)
+
+func (x AccessLogTraceInfoProvider) Enum() *AccessLogTraceInfoProvider {
+ p := new(AccessLogTraceInfoProvider)
+ *p = x
+ return p
+}
+
+func (x AccessLogTraceInfoProvider) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AccessLogTraceInfoProvider) Descriptor() protoreflect.EnumDescriptor {
+ return file_ebpf_accesslog_proto_enumTypes[4].Descriptor()
+}
+
+func (AccessLogTraceInfoProvider) Type() protoreflect.EnumType {
+ return &file_ebpf_accesslog_proto_enumTypes[4]
+}
+
+func (x AccessLogTraceInfoProvider) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use AccessLogTraceInfoProvider.Descriptor instead.
+func (AccessLogTraceInfoProvider) EnumDescriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{4}
+}
+
+type AccessLogHTTPProtocolRequestMethod int32
+
+const (
+ AccessLogHTTPProtocolRequestMethod_Get AccessLogHTTPProtocolRequestMethod = 0
+ AccessLogHTTPProtocolRequestMethod_Post AccessLogHTTPProtocolRequestMethod = 1
+ AccessLogHTTPProtocolRequestMethod_Put AccessLogHTTPProtocolRequestMethod = 2
+ AccessLogHTTPProtocolRequestMethod_Delete AccessLogHTTPProtocolRequestMethod = 3
+ AccessLogHTTPProtocolRequestMethod_Head AccessLogHTTPProtocolRequestMethod = 4
+ AccessLogHTTPProtocolRequestMethod_Patch AccessLogHTTPProtocolRequestMethod = 5
+ AccessLogHTTPProtocolRequestMethod_Options AccessLogHTTPProtocolRequestMethod = 6
+ AccessLogHTTPProtocolRequestMethod_Trace AccessLogHTTPProtocolRequestMethod = 7
+ AccessLogHTTPProtocolRequestMethod_Connect AccessLogHTTPProtocolRequestMethod = 8
+)
+
+// Enum value maps for AccessLogHTTPProtocolRequestMethod.
+var (
+ AccessLogHTTPProtocolRequestMethod_name = map[int32]string{
+ 0: "Get",
+ 1: "Post",
+ 2: "Put",
+ 3: "Delete",
+ 4: "Head",
+ 5: "Patch",
+ 6: "Options",
+ 7: "Trace",
+ 8: "Connect",
+ }
+ AccessLogHTTPProtocolRequestMethod_value = map[string]int32{
+ "Get": 0,
+ "Post": 1,
+ "Put": 2,
+ "Delete": 3,
+ "Head": 4,
+ "Patch": 5,
+ "Options": 6,
+ "Trace": 7,
+ "Connect": 8,
+ }
+)
+
+func (x AccessLogHTTPProtocolRequestMethod) Enum() *AccessLogHTTPProtocolRequestMethod {
+ p := new(AccessLogHTTPProtocolRequestMethod)
+ *p = x
+ return p
+}
+
+func (x AccessLogHTTPProtocolRequestMethod) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AccessLogHTTPProtocolRequestMethod) Descriptor() protoreflect.EnumDescriptor {
+ return file_ebpf_accesslog_proto_enumTypes[5].Descriptor()
+}
+
+func (AccessLogHTTPProtocolRequestMethod) Type() protoreflect.EnumType {
+ return &file_ebpf_accesslog_proto_enumTypes[5]
+}
+
+func (x AccessLogHTTPProtocolRequestMethod) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use AccessLogHTTPProtocolRequestMethod.Descriptor instead.
+func (AccessLogHTTPProtocolRequestMethod) EnumDescriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{5}
+}
+
+type AccessLogKernelWriteSyscall int32
+
+const (
+ AccessLogKernelWriteSyscall_Write AccessLogKernelWriteSyscall = 0
+ AccessLogKernelWriteSyscall_Writev AccessLogKernelWriteSyscall = 1
+ AccessLogKernelWriteSyscall_Send AccessLogKernelWriteSyscall = 2
+ AccessLogKernelWriteSyscall_SendTo AccessLogKernelWriteSyscall = 3
+ AccessLogKernelWriteSyscall_SendMsg AccessLogKernelWriteSyscall = 4
+ AccessLogKernelWriteSyscall_SendMmsg AccessLogKernelWriteSyscall = 5
+ AccessLogKernelWriteSyscall_SendFile AccessLogKernelWriteSyscall = 6
+ AccessLogKernelWriteSyscall_SendFile64 AccessLogKernelWriteSyscall = 7
+)
+
+// Enum value maps for AccessLogKernelWriteSyscall.
+var (
+ AccessLogKernelWriteSyscall_name = map[int32]string{
+ 0: "Write",
+ 1: "Writev",
+ 2: "Send",
+ 3: "SendTo",
+ 4: "SendMsg",
+ 5: "SendMmsg",
+ 6: "SendFile",
+ 7: "SendFile64",
+ }
+ AccessLogKernelWriteSyscall_value = map[string]int32{
+ "Write": 0,
+ "Writev": 1,
+ "Send": 2,
+ "SendTo": 3,
+ "SendMsg": 4,
+ "SendMmsg": 5,
+ "SendFile": 6,
+ "SendFile64": 7,
+ }
+)
+
+func (x AccessLogKernelWriteSyscall) Enum() *AccessLogKernelWriteSyscall {
+ p := new(AccessLogKernelWriteSyscall)
+ *p = x
+ return p
+}
+
+func (x AccessLogKernelWriteSyscall) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AccessLogKernelWriteSyscall) Descriptor() protoreflect.EnumDescriptor {
+ return file_ebpf_accesslog_proto_enumTypes[6].Descriptor()
+}
+
+func (AccessLogKernelWriteSyscall) Type() protoreflect.EnumType {
+ return &file_ebpf_accesslog_proto_enumTypes[6]
+}
+
+func (x AccessLogKernelWriteSyscall) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use AccessLogKernelWriteSyscall.Descriptor instead.
+func (AccessLogKernelWriteSyscall) EnumDescriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{6}
+}
+
+type AccessLogKernelReadSyscall int32
+
+const (
+ AccessLogKernelReadSyscall_Read AccessLogKernelReadSyscall = 0
+ AccessLogKernelReadSyscall_Readv AccessLogKernelReadSyscall = 1
+ AccessLogKernelReadSyscall_Recv AccessLogKernelReadSyscall = 2
+ AccessLogKernelReadSyscall_RecvFrom AccessLogKernelReadSyscall = 3
+ AccessLogKernelReadSyscall_RecvMsg AccessLogKernelReadSyscall = 4
+ AccessLogKernelReadSyscall_RecvMmsg AccessLogKernelReadSyscall = 5
+)
+
+// Enum value maps for AccessLogKernelReadSyscall.
+var (
+ AccessLogKernelReadSyscall_name = map[int32]string{
+ 0: "Read",
+ 1: "Readv",
+ 2: "Recv",
+ 3: "RecvFrom",
+ 4: "RecvMsg",
+ 5: "RecvMmsg",
+ }
+ AccessLogKernelReadSyscall_value = map[string]int32{
+ "Read": 0,
+ "Readv": 1,
+ "Recv": 2,
+ "RecvFrom": 3,
+ "RecvMsg": 4,
+ "RecvMmsg": 5,
+ }
+)
+
+func (x AccessLogKernelReadSyscall) Enum() *AccessLogKernelReadSyscall {
+ p := new(AccessLogKernelReadSyscall)
+ *p = x
+ return p
+}
+
+func (x AccessLogKernelReadSyscall) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AccessLogKernelReadSyscall) Descriptor() protoreflect.EnumDescriptor {
+ return file_ebpf_accesslog_proto_enumTypes[7].Descriptor()
+}
+
+func (AccessLogKernelReadSyscall) Type() protoreflect.EnumType {
+ return &file_ebpf_accesslog_proto_enumTypes[7]
+}
+
+func (x AccessLogKernelReadSyscall) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use AccessLogKernelReadSyscall.Descriptor instead.
+func (AccessLogKernelReadSyscall) EnumDescriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{7}
+}
+
+type AccessLogProtocolType int32
+
+const (
+ AccessLogProtocolType_TCP AccessLogProtocolType = 0
+ AccessLogProtocolType_HTTP_1 AccessLogProtocolType = 1
+ AccessLogProtocolType_HTTP_2 AccessLogProtocolType = 2
+)
+
+// Enum value maps for AccessLogProtocolType.
+var (
+ AccessLogProtocolType_name = map[int32]string{
+ 0: "TCP",
+ 1: "HTTP_1",
+ 2: "HTTP_2",
+ }
+ AccessLogProtocolType_value = map[string]int32{
+ "TCP": 0,
+ "HTTP_1": 1,
+ "HTTP_2": 2,
+ }
+)
+
+func (x AccessLogProtocolType) Enum() *AccessLogProtocolType {
+ p := new(AccessLogProtocolType)
+ *p = x
+ return p
+}
+
+func (x AccessLogProtocolType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AccessLogProtocolType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ebpf_accesslog_proto_enumTypes[8].Descriptor()
+}
+
+func (AccessLogProtocolType) Type() protoreflect.EnumType {
+ return &file_ebpf_accesslog_proto_enumTypes[8]
+}
+
+func (x AccessLogProtocolType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use AccessLogProtocolType.Descriptor instead.
+func (AccessLogProtocolType) EnumDescriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{8}
+}
+
+type EBPFAccessLogMessage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // current node information, only not null when first message or have update
+ Node *EBPFAccessLogNodeInfo `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
+ // local process and remote process connection information
+ Connection *AccessLogConnection `protobuf:"bytes,2,opt,name=connection,proto3" json:"connection,omitempty"`
+ // kernel level metrics
+ KernelLogs []*AccessLogKernelLog `protobuf:"bytes,3,rep,name=kernelLogs,proto3" json:"kernelLogs,omitempty"`
+ // application protocol log
+ // if the protocol is detected, the kernel logs is works the related logs
+ // otherwise, the kernel log is not related and is sent periodically
+ ProtocolLog *AccessLogProtocolLogs `protobuf:"bytes,4,opt,name=protocolLog,proto3" json:"protocolLog,omitempty"`
+}
+
+func (x *EBPFAccessLogMessage) Reset() {
+ *x = EBPFAccessLogMessage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFAccessLogMessage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFAccessLogMessage) ProtoMessage() {}
+
+func (x *EBPFAccessLogMessage) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFAccessLogMessage.ProtoReflect.Descriptor instead.
+func (*EBPFAccessLogMessage) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EBPFAccessLogMessage) GetNode() *EBPFAccessLogNodeInfo {
+ if x != nil {
+ return x.Node
+ }
+ return nil
+}
+
+func (x *EBPFAccessLogMessage) GetConnection() *AccessLogConnection {
+ if x != nil {
+ return x.Connection
+ }
+ return nil
+}
+
+func (x *EBPFAccessLogMessage) GetKernelLogs() []*AccessLogKernelLog {
+ if x != nil {
+ return x.KernelLogs
+ }
+ return nil
+}
+
+func (x *EBPFAccessLogMessage) GetProtocolLog() *AccessLogProtocolLogs {
+ if x != nil {
+ return x.ProtocolLog
+ }
+ return nil
+}
+
+type EBPFAccessLogNodeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Node name
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // All net interfaces list
+ NetInterfaces []*EBPFAccessLogNodeNetInterface `protobuf:"bytes,2,rep,name=netInterfaces,proto3" json:"netInterfaces,omitempty"`
+ // System boot time
+ BootTime *v3.Instant `protobuf:"bytes,3,opt,name=bootTime,proto3" json:"bootTime,omitempty"`
+ // Cluster name
+ ClusterName string `protobuf:"bytes,4,opt,name=clusterName,proto3" json:"clusterName,omitempty"`
+ // Policy for the access log
+ Policy *EBPFAccessLogPolicy `protobuf:"bytes,5,opt,name=policy,proto3" json:"policy,omitempty"`
+}
+
+func (x *EBPFAccessLogNodeInfo) Reset() {
+ *x = EBPFAccessLogNodeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFAccessLogNodeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFAccessLogNodeInfo) ProtoMessage() {}
+
+func (x *EBPFAccessLogNodeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFAccessLogNodeInfo.ProtoReflect.Descriptor instead.
+func (*EBPFAccessLogNodeInfo) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *EBPFAccessLogNodeInfo) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *EBPFAccessLogNodeInfo) GetNetInterfaces() []*EBPFAccessLogNodeNetInterface {
+ if x != nil {
+ return x.NetInterfaces
+ }
+ return nil
+}
+
+func (x *EBPFAccessLogNodeInfo) GetBootTime() *v3.Instant {
+ if x != nil {
+ return x.BootTime
+ }
+ return nil
+}
+
+func (x *EBPFAccessLogNodeInfo) GetClusterName() string {
+ if x != nil {
+ return x.ClusterName
+ }
+ return ""
+}
+
+func (x *EBPFAccessLogNodeInfo) GetPolicy() *EBPFAccessLogPolicy {
+ if x != nil {
+ return x.Policy
+ }
+ return nil
+}
+
+type EBPFAccessLogPolicy struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Which namespaces should be excluded to generate the connection
+ ExcludeNamespaces []string `protobuf:"bytes,1,rep,name=excludeNamespaces,proto3" json:"excludeNamespaces,omitempty"`
+}
+
+func (x *EBPFAccessLogPolicy) Reset() {
+ *x = EBPFAccessLogPolicy{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFAccessLogPolicy) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFAccessLogPolicy) ProtoMessage() {}
+
+func (x *EBPFAccessLogPolicy) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFAccessLogPolicy.ProtoReflect.Descriptor instead.
+func (*EBPFAccessLogPolicy) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *EBPFAccessLogPolicy) GetExcludeNamespaces() []string {
+ if x != nil {
+ return x.ExcludeNamespaces
+ }
+ return nil
+}
+
+type EBPFAccessLogNodeNetInterface struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Index int32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
+ Mtu int32 `protobuf:"varint,2,opt,name=mtu,proto3" json:"mtu,omitempty"`
+ Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
+}
+
+func (x *EBPFAccessLogNodeNetInterface) Reset() {
+ *x = EBPFAccessLogNodeNetInterface{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFAccessLogNodeNetInterface) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFAccessLogNodeNetInterface) ProtoMessage() {}
+
+func (x *EBPFAccessLogNodeNetInterface) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFAccessLogNodeNetInterface.ProtoReflect.Descriptor instead.
+func (*EBPFAccessLogNodeNetInterface) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *EBPFAccessLogNodeNetInterface) GetIndex() int32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+func (x *EBPFAccessLogNodeNetInterface) GetMtu() int32 {
+ if x != nil {
+ return x.Mtu
+ }
+ return 0
+}
+
+func (x *EBPFAccessLogNodeNetInterface) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+// Connection information
+type AccessLogConnection struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // local address
+ Local *ConnectionAddress `protobuf:"bytes,1,opt,name=local,proto3" json:"local,omitempty"`
+ // remote/peer address
+ Remote *ConnectionAddress `protobuf:"bytes,2,opt,name=remote,proto3" json:"remote,omitempty"`
+ // local address detect point
+ Role v3.DetectPoint `protobuf:"varint,3,opt,name=role,proto3,enum=skywalking.v3.DetectPoint" json:"role,omitempty"`
+ // is the connection using TLS or not
+ TlsMode AccessLogConnectionTLSMode `protobuf:"varint,4,opt,name=tlsMode,proto3,enum=skywalking.v3.AccessLogConnectionTLSMode" json:"tlsMode,omitempty"`
+ // application protocol type
+ Protocol AccessLogProtocolType `protobuf:"varint,5,opt,name=protocol,proto3,enum=skywalking.v3.AccessLogProtocolType" json:"protocol,omitempty"`
+ // the attachment information about the connection
+ Attachment *ConnectionAttachment `protobuf:"bytes,6,opt,name=attachment,proto3" json:"attachment,omitempty"`
+}
+
+func (x *AccessLogConnection) Reset() {
+ *x = AccessLogConnection{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogConnection) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogConnection) ProtoMessage() {}
+
+func (x *AccessLogConnection) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogConnection.ProtoReflect.Descriptor instead.
+func (*AccessLogConnection) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *AccessLogConnection) GetLocal() *ConnectionAddress {
+ if x != nil {
+ return x.Local
+ }
+ return nil
+}
+
+func (x *AccessLogConnection) GetRemote() *ConnectionAddress {
+ if x != nil {
+ return x.Remote
+ }
+ return nil
+}
+
+func (x *AccessLogConnection) GetRole() v3.DetectPoint {
+ if x != nil {
+ return x.Role
+ }
+ return v3.DetectPoint_client
+}
+
+func (x *AccessLogConnection) GetTlsMode() AccessLogConnectionTLSMode {
+ if x != nil {
+ return x.TlsMode
+ }
+ return AccessLogConnectionTLSMode_Plain
+}
+
+func (x *AccessLogConnection) GetProtocol() AccessLogProtocolType {
+ if x != nil {
+ return x.Protocol
+ }
+ return AccessLogProtocolType_TCP
+}
+
+func (x *AccessLogConnection) GetAttachment() *ConnectionAttachment {
+ if x != nil {
+ return x.Attachment
+ }
+ return nil
+}
+
+type ConnectionAttachment struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // detect contains the environment information
+ //
+ // Types that are assignable to Environment:
+ //
+ // *ConnectionAttachment_ZTunnel
+ Environment isConnectionAttachment_Environment `protobuf_oneof:"environment"`
+}
+
+func (x *ConnectionAttachment) Reset() {
+ *x = ConnectionAttachment{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ConnectionAttachment) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConnectionAttachment) ProtoMessage() {}
+
+func (x *ConnectionAttachment) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConnectionAttachment.ProtoReflect.Descriptor instead.
+func (*ConnectionAttachment) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{5}
+}
+
+func (m *ConnectionAttachment) GetEnvironment() isConnectionAttachment_Environment {
+ if m != nil {
+ return m.Environment
+ }
+ return nil
+}
+
+func (x *ConnectionAttachment) GetZTunnel() *ZTunnelAttachmentEnvironment {
+ if x, ok := x.GetEnvironment().(*ConnectionAttachment_ZTunnel); ok {
+ return x.ZTunnel
+ }
+ return nil
+}
+
+type isConnectionAttachment_Environment interface {
+ isConnectionAttachment_Environment()
+}
+
+type ConnectionAttachment_ZTunnel struct {
+ // detect the connection have a zTunnel environment(ambient istio)
+ ZTunnel *ZTunnelAttachmentEnvironment `protobuf:"bytes,1,opt,name=zTunnel,proto3,oneof"`
+}
+
+func (*ConnectionAttachment_ZTunnel) isConnectionAttachment_Environment() {}
+
+type ZTunnelAttachmentEnvironment struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // the real destination ip address of the connection
+ RealDestinationIp string `protobuf:"bytes,1,opt,name=real_destination_ip,json=realDestinationIp,proto3" json:"real_destination_ip,omitempty"`
+ // how the environment detected
+ // if detect by inbound, then the real destination ip is empty
+ By ZTunnelAttachmentEnvironmentDetectBy `protobuf:"varint,2,opt,name=by,proto3,enum=skywalking.v3.ZTunnelAttachmentEnvironmentDetectBy" json:"by,omitempty"`
+ // the security policy of the ztunnel communicate with upstream
+ SecurityPolicy ZTunnelAttachmentSecurityPolicy `protobuf:"varint,3,opt,name=security_policy,json=securityPolicy,proto3,enum=skywalking.v3.ZTunnelAttachmentSecurityPolicy" json:"security_policy,omitempty"`
+}
+
+func (x *ZTunnelAttachmentEnvironment) Reset() {
+ *x = ZTunnelAttachmentEnvironment{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ZTunnelAttachmentEnvironment) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ZTunnelAttachmentEnvironment) ProtoMessage() {}
+
+func (x *ZTunnelAttachmentEnvironment) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ZTunnelAttachmentEnvironment.ProtoReflect.Descriptor instead.
+func (*ZTunnelAttachmentEnvironment) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *ZTunnelAttachmentEnvironment) GetRealDestinationIp() string {
+ if x != nil {
+ return x.RealDestinationIp
+ }
+ return ""
+}
+
+func (x *ZTunnelAttachmentEnvironment) GetBy() ZTunnelAttachmentEnvironmentDetectBy {
+ if x != nil {
+ return x.By
+ }
+ return ZTunnelAttachmentEnvironmentDetectBy_ZTUNNEL_OUTBOUND_FUNC
+}
+
+func (x *ZTunnelAttachmentEnvironment) GetSecurityPolicy() ZTunnelAttachmentSecurityPolicy {
+ if x != nil {
+ return x.SecurityPolicy
+ }
+ return ZTunnelAttachmentSecurityPolicy_MTLS
+}
+
+type ConnectionAddress struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Address:
+ //
+ // *ConnectionAddress_Kubernetes
+ // *ConnectionAddress_Ip
+ Address isConnectionAddress_Address `protobuf_oneof:"address"`
+}
+
+func (x *ConnectionAddress) Reset() {
+ *x = ConnectionAddress{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ConnectionAddress) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConnectionAddress) ProtoMessage() {}
+
+func (x *ConnectionAddress) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[7]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConnectionAddress.ProtoReflect.Descriptor instead.
+func (*ConnectionAddress) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{7}
+}
+
+func (m *ConnectionAddress) GetAddress() isConnectionAddress_Address {
+ if m != nil {
+ return m.Address
+ }
+ return nil
+}
+
+func (x *ConnectionAddress) GetKubernetes() *KubernetesProcessAddress {
+ if x, ok := x.GetAddress().(*ConnectionAddress_Kubernetes); ok {
+ return x.Kubernetes
+ }
+ return nil
+}
+
+func (x *ConnectionAddress) GetIp() *IPAddress {
+ if x, ok := x.GetAddress().(*ConnectionAddress_Ip); ok {
+ return x.Ip
+ }
+ return nil
+}
+
+type isConnectionAddress_Address interface {
+ isConnectionAddress_Address()
+}
+
+type ConnectionAddress_Kubernetes struct {
+ // if the address is monitored under the local machine, then return the kubernetes
+ Kubernetes *KubernetesProcessAddress `protobuf:"bytes,1,opt,name=kubernetes,proto3,oneof"`
+}
+
+type ConnectionAddress_Ip struct {
+ // if the address cannot be aware, then return the ip address
+ Ip *IPAddress `protobuf:"bytes,2,opt,name=ip,proto3,oneof"`
+}
+
+func (*ConnectionAddress_Kubernetes) isConnectionAddress_Address() {}
+
+func (*ConnectionAddress_Ip) isConnectionAddress_Address() {}
+
+type KubernetesProcessAddress struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ServiceName string `protobuf:"bytes,1,opt,name=serviceName,proto3" json:"serviceName,omitempty"`
+ PodName string `protobuf:"bytes,2,opt,name=podName,proto3" json:"podName,omitempty"`
+ ContainerName string `protobuf:"bytes,3,opt,name=containerName,proto3" json:"containerName,omitempty"`
+ ProcessName string `protobuf:"bytes,4,opt,name=processName,proto3" json:"processName,omitempty"`
+ Port int32 `protobuf:"varint,5,opt,name=port,proto3" json:"port,omitempty"`
+}
+
+func (x *KubernetesProcessAddress) Reset() {
+ *x = KubernetesProcessAddress{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *KubernetesProcessAddress) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*KubernetesProcessAddress) ProtoMessage() {}
+
+func (x *KubernetesProcessAddress) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[8]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use KubernetesProcessAddress.ProtoReflect.Descriptor instead.
+func (*KubernetesProcessAddress) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{8}
+}
+
+func (x *KubernetesProcessAddress) GetServiceName() string {
+ if x != nil {
+ return x.ServiceName
+ }
+ return ""
+}
+
+func (x *KubernetesProcessAddress) GetPodName() string {
+ if x != nil {
+ return x.PodName
+ }
+ return ""
+}
+
+func (x *KubernetesProcessAddress) GetContainerName() string {
+ if x != nil {
+ return x.ContainerName
+ }
+ return ""
+}
+
+func (x *KubernetesProcessAddress) GetProcessName() string {
+ if x != nil {
+ return x.ProcessName
+ }
+ return ""
+}
+
+func (x *KubernetesProcessAddress) GetPort() int32 {
+ if x != nil {
+ return x.Port
+ }
+ return 0
+}
+
+type IPAddress struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
+ Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
+}
+
+func (x *IPAddress) Reset() {
+ *x = IPAddress{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IPAddress) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IPAddress) ProtoMessage() {}
+
+func (x *IPAddress) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[9]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IPAddress.ProtoReflect.Descriptor instead.
+func (*IPAddress) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{9}
+}
+
+func (x *IPAddress) GetHost() string {
+ if x != nil {
+ return x.Host
+ }
+ return ""
+}
+
+func (x *IPAddress) GetPort() int32 {
+ if x != nil {
+ return x.Port
+ }
+ return 0
+}
+
+type AccessLogKernelLog struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Operation:
+ //
+ // *AccessLogKernelLog_Connect
+ // *AccessLogKernelLog_Accept
+ // *AccessLogKernelLog_Close
+ // *AccessLogKernelLog_Read
+ // *AccessLogKernelLog_Write
+ Operation isAccessLogKernelLog_Operation `protobuf_oneof:"operation"`
+}
+
+func (x *AccessLogKernelLog) Reset() {
+ *x = AccessLogKernelLog{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[10]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogKernelLog) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogKernelLog) ProtoMessage() {}
+
+func (x *AccessLogKernelLog) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[10]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogKernelLog.ProtoReflect.Descriptor instead.
+func (*AccessLogKernelLog) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{10}
+}
+
+func (m *AccessLogKernelLog) GetOperation() isAccessLogKernelLog_Operation {
+ if m != nil {
+ return m.Operation
+ }
+ return nil
+}
+
+func (x *AccessLogKernelLog) GetConnect() *AccessLogKernelConnectOperation {
+ if x, ok := x.GetOperation().(*AccessLogKernelLog_Connect); ok {
+ return x.Connect
+ }
+ return nil
+}
+
+func (x *AccessLogKernelLog) GetAccept() *AccessLogKernelAcceptOperation {
+ if x, ok := x.GetOperation().(*AccessLogKernelLog_Accept); ok {
+ return x.Accept
+ }
+ return nil
+}
+
+func (x *AccessLogKernelLog) GetClose() *AccessLogKernelCloseOperation {
+ if x, ok := x.GetOperation().(*AccessLogKernelLog_Close); ok {
+ return x.Close
+ }
+ return nil
+}
+
+func (x *AccessLogKernelLog) GetRead() *AccessLogKernelReadOperation {
+ if x, ok := x.GetOperation().(*AccessLogKernelLog_Read); ok {
+ return x.Read
+ }
+ return nil
+}
+
+func (x *AccessLogKernelLog) GetWrite() *AccessLogKernelWriteOperation {
+ if x, ok := x.GetOperation().(*AccessLogKernelLog_Write); ok {
+ return x.Write
+ }
+ return nil
+}
+
+type isAccessLogKernelLog_Operation interface {
+ isAccessLogKernelLog_Operation()
+}
+
+type AccessLogKernelLog_Connect struct {
+ Connect *AccessLogKernelConnectOperation `protobuf:"bytes,1,opt,name=connect,proto3,oneof"`
+}
+
+type AccessLogKernelLog_Accept struct {
+ Accept *AccessLogKernelAcceptOperation `protobuf:"bytes,2,opt,name=accept,proto3,oneof"`
+}
+
+type AccessLogKernelLog_Close struct {
+ Close *AccessLogKernelCloseOperation `protobuf:"bytes,3,opt,name=close,proto3,oneof"`
+}
+
+type AccessLogKernelLog_Read struct {
+ Read *AccessLogKernelReadOperation `protobuf:"bytes,4,opt,name=read,proto3,oneof"`
+}
+
+type AccessLogKernelLog_Write struct {
+ Write *AccessLogKernelWriteOperation `protobuf:"bytes,5,opt,name=write,proto3,oneof"`
+}
+
+func (*AccessLogKernelLog_Connect) isAccessLogKernelLog_Operation() {}
+
+func (*AccessLogKernelLog_Accept) isAccessLogKernelLog_Operation() {}
+
+func (*AccessLogKernelLog_Close) isAccessLogKernelLog_Operation() {}
+
+func (*AccessLogKernelLog_Read) isAccessLogKernelLog_Operation() {}
+
+func (*AccessLogKernelLog_Write) isAccessLogKernelLog_Operation() {}
+
+type AccessLogProtocolLogs struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Protocol:
+ //
+ // *AccessLogProtocolLogs_Http
+ Protocol isAccessLogProtocolLogs_Protocol `protobuf_oneof:"protocol"`
+}
+
+func (x *AccessLogProtocolLogs) Reset() {
+ *x = AccessLogProtocolLogs{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[11]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogProtocolLogs) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogProtocolLogs) ProtoMessage() {}
+
+func (x *AccessLogProtocolLogs) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[11]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogProtocolLogs.ProtoReflect.Descriptor instead.
+func (*AccessLogProtocolLogs) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{11}
+}
+
+func (m *AccessLogProtocolLogs) GetProtocol() isAccessLogProtocolLogs_Protocol {
+ if m != nil {
+ return m.Protocol
+ }
+ return nil
+}
+
+func (x *AccessLogProtocolLogs) GetHttp() *AccessLogHTTPProtocol {
+ if x, ok := x.GetProtocol().(*AccessLogProtocolLogs_Http); ok {
+ return x.Http
+ }
+ return nil
+}
+
+type isAccessLogProtocolLogs_Protocol interface {
+ isAccessLogProtocolLogs_Protocol()
+}
+
+type AccessLogProtocolLogs_Http struct {
+ Http *AccessLogHTTPProtocol `protobuf:"bytes,1,opt,name=http,proto3,oneof"`
+}
+
+func (*AccessLogProtocolLogs_Http) isAccessLogProtocolLogs_Protocol() {}
+
+type AccessLogHTTPProtocol struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // first bytes receive/write timestamp
+ StartTime *EBPFTimestamp `protobuf:"bytes,1,opt,name=startTime,proto3" json:"startTime,omitempty"`
+ // last bytes receive/write timestamp
+ EndTime *EBPFTimestamp `protobuf:"bytes,2,opt,name=endTime,proto3" json:"endTime,omitempty"`
+ Version AccessLogHTTPProtocolVersion `protobuf:"varint,3,opt,name=version,proto3,enum=skywalking.v3.AccessLogHTTPProtocolVersion" json:"version,omitempty"`
+ Request *AccessLogHTTPProtocolRequest `protobuf:"bytes,4,opt,name=request,proto3" json:"request,omitempty"`
+ Response *AccessLogHTTPProtocolResponse `protobuf:"bytes,5,opt,name=response,proto3" json:"response,omitempty"`
+}
+
+func (x *AccessLogHTTPProtocol) Reset() {
+ *x = AccessLogHTTPProtocol{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[12]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogHTTPProtocol) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogHTTPProtocol) ProtoMessage() {}
+
+func (x *AccessLogHTTPProtocol) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[12]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogHTTPProtocol.ProtoReflect.Descriptor instead.
+func (*AccessLogHTTPProtocol) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{12}
+}
+
+func (x *AccessLogHTTPProtocol) GetStartTime() *EBPFTimestamp {
+ if x != nil {
+ return x.StartTime
+ }
+ return nil
+}
+
+func (x *AccessLogHTTPProtocol) GetEndTime() *EBPFTimestamp {
+ if x != nil {
+ return x.EndTime
+ }
+ return nil
+}
+
+func (x *AccessLogHTTPProtocol) GetVersion() AccessLogHTTPProtocolVersion {
+ if x != nil {
+ return x.Version
+ }
+ return AccessLogHTTPProtocolVersion_HTTP1
+}
+
+func (x *AccessLogHTTPProtocol) GetRequest() *AccessLogHTTPProtocolRequest {
+ if x != nil {
+ return x.Request
+ }
+ return nil
+}
+
+func (x *AccessLogHTTPProtocol) GetResponse() *AccessLogHTTPProtocolResponse {
+ if x != nil {
+ return x.Response
+ }
+ return nil
+}
+
+type AccessLogHTTPProtocolRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Method AccessLogHTTPProtocolRequestMethod `protobuf:"varint,1,opt,name=method,proto3,enum=skywalking.v3.AccessLogHTTPProtocolRequestMethod" json:"method,omitempty"`
+ // The path portion from the incoming request URI.
+ Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
+ // Request header and body size.
+ SizeOfHeadersBytes uint64 `protobuf:"varint,3,opt,name=sizeOfHeadersBytes,proto3" json:"sizeOfHeadersBytes,omitempty"`
+ SizeOfBodyBytes uint64 `protobuf:"varint,4,opt,name=sizeOfBodyBytes,proto3" json:"sizeOfBodyBytes,omitempty"`
+ // The trace information if detected.
+ Trace *AccessLogTraceInfo `protobuf:"bytes,5,opt,name=trace,proto3" json:"trace,omitempty"`
+ // The host header of the incoming request.
+ Host string `protobuf:"bytes,6,opt,name=host,proto3" json:"host,omitempty"`
+}
+
+func (x *AccessLogHTTPProtocolRequest) Reset() {
+ *x = AccessLogHTTPProtocolRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[13]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogHTTPProtocolRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogHTTPProtocolRequest) ProtoMessage() {}
+
+func (x *AccessLogHTTPProtocolRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[13]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogHTTPProtocolRequest.ProtoReflect.Descriptor instead.
+func (*AccessLogHTTPProtocolRequest) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{13}
+}
+
+func (x *AccessLogHTTPProtocolRequest) GetMethod() AccessLogHTTPProtocolRequestMethod {
+ if x != nil {
+ return x.Method
+ }
+ return AccessLogHTTPProtocolRequestMethod_Get
+}
+
+func (x *AccessLogHTTPProtocolRequest) GetPath() string {
+ if x != nil {
+ return x.Path
+ }
+ return ""
+}
+
+func (x *AccessLogHTTPProtocolRequest) GetSizeOfHeadersBytes() uint64 {
+ if x != nil {
+ return x.SizeOfHeadersBytes
+ }
+ return 0
+}
+
+func (x *AccessLogHTTPProtocolRequest) GetSizeOfBodyBytes() uint64 {
+ if x != nil {
+ return x.SizeOfBodyBytes
+ }
+ return 0
+}
+
+func (x *AccessLogHTTPProtocolRequest) GetTrace() *AccessLogTraceInfo {
+ if x != nil {
+ return x.Trace
+ }
+ return nil
+}
+
+func (x *AccessLogHTTPProtocolRequest) GetHost() string {
+ if x != nil {
+ return x.Host
+ }
+ return ""
+}
+
+type AccessLogHTTPProtocolResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StatusCode int32 `protobuf:"varint,1,opt,name=statusCode,proto3" json:"statusCode,omitempty"`
+ // Response header and body size.
+ SizeOfHeadersBytes uint64 `protobuf:"varint,3,opt,name=sizeOfHeadersBytes,proto3" json:"sizeOfHeadersBytes,omitempty"`
+ SizeOfBodyBytes uint64 `protobuf:"varint,4,opt,name=sizeOfBodyBytes,proto3" json:"sizeOfBodyBytes,omitempty"`
+}
+
+func (x *AccessLogHTTPProtocolResponse) Reset() {
+ *x = AccessLogHTTPProtocolResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogHTTPProtocolResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogHTTPProtocolResponse) ProtoMessage() {}
+
+func (x *AccessLogHTTPProtocolResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[14]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogHTTPProtocolResponse.ProtoReflect.Descriptor instead.
+func (*AccessLogHTTPProtocolResponse) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{14}
+}
+
+func (x *AccessLogHTTPProtocolResponse) GetStatusCode() int32 {
+ if x != nil {
+ return x.StatusCode
+ }
+ return 0
+}
+
+func (x *AccessLogHTTPProtocolResponse) GetSizeOfHeadersBytes() uint64 {
+ if x != nil {
+ return x.SizeOfHeadersBytes
+ }
+ return 0
+}
+
+func (x *AccessLogHTTPProtocolResponse) GetSizeOfBodyBytes() uint64 {
+ if x != nil {
+ return x.SizeOfBodyBytes
+ }
+ return 0
+}
+
+type AccessLogTraceInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Provider AccessLogTraceInfoProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=skywalking.v3.AccessLogTraceInfoProvider" json:"provider,omitempty"`
+ // [Optional] A string id represents the whole trace.
+ TraceId string `protobuf:"bytes,2,opt,name=traceId,proto3" json:"traceId,omitempty"`
+ // A unique id represents this segment. Other segments could use this id to reference as a child segment.
+ // [Optional] when this span reference
+ TraceSegmentId string `protobuf:"bytes,3,opt,name=traceSegmentId,proto3" json:"traceSegmentId,omitempty"`
+ // If type == SkyWalking
+ // The number id of the span. Should be unique in the whole segment.
+ // Starting at 0
+ //
+ // If type == Zipkin
+ // The type of span ID is string.
+ SpanId string `protobuf:"bytes,4,opt,name=spanId,proto3" json:"spanId,omitempty"`
+}
+
+func (x *AccessLogTraceInfo) Reset() {
+ *x = AccessLogTraceInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogTraceInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogTraceInfo) ProtoMessage() {}
+
+func (x *AccessLogTraceInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[15]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogTraceInfo.ProtoReflect.Descriptor instead.
+func (*AccessLogTraceInfo) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{15}
+}
+
+func (x *AccessLogTraceInfo) GetProvider() AccessLogTraceInfoProvider {
+ if x != nil {
+ return x.Provider
+ }
+ return AccessLogTraceInfoProvider_Zipkin
+}
+
+func (x *AccessLogTraceInfo) GetTraceId() string {
+ if x != nil {
+ return x.TraceId
+ }
+ return ""
+}
+
+func (x *AccessLogTraceInfo) GetTraceSegmentId() string {
+ if x != nil {
+ return x.TraceSegmentId
+ }
+ return ""
+}
+
+func (x *AccessLogTraceInfo) GetSpanId() string {
+ if x != nil {
+ return x.SpanId
+ }
+ return ""
+}
+
+type AccessLogKernelConnectOperation struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Starting to connect with peer address timestamp
+ StartTime *EBPFTimestamp `protobuf:"bytes,1,opt,name=startTime,proto3" json:"startTime,omitempty"`
+ // Finish connect operation timestamp
+ EndTime *EBPFTimestamp `protobuf:"bytes,2,opt,name=endTime,proto3" json:"endTime,omitempty"`
+ // Is the connect operation success or not
+ Success bool `protobuf:"varint,3,opt,name=success,proto3" json:"success,omitempty"`
+}
+
+func (x *AccessLogKernelConnectOperation) Reset() {
+ *x = AccessLogKernelConnectOperation{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[16]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogKernelConnectOperation) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogKernelConnectOperation) ProtoMessage() {}
+
+func (x *AccessLogKernelConnectOperation) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[16]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogKernelConnectOperation.ProtoReflect.Descriptor instead.
+func (*AccessLogKernelConnectOperation) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{16}
+}
+
+func (x *AccessLogKernelConnectOperation) GetStartTime() *EBPFTimestamp {
+ if x != nil {
+ return x.StartTime
+ }
+ return nil
+}
+
+func (x *AccessLogKernelConnectOperation) GetEndTime() *EBPFTimestamp {
+ if x != nil {
+ return x.EndTime
+ }
+ return nil
+}
+
+func (x *AccessLogKernelConnectOperation) GetSuccess() bool {
+ if x != nil {
+ return x.Success
+ }
+ return false
+}
+
+type AccessLogKernelAcceptOperation struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Starting to accept socket timestamp
+ StartTime *EBPFTimestamp `protobuf:"bytes,1,opt,name=startTime,proto3" json:"startTime,omitempty"`
+ // Finish accept operation timestamp
+ EndTime *EBPFTimestamp `protobuf:"bytes,2,opt,name=endTime,proto3" json:"endTime,omitempty"`
+}
+
+func (x *AccessLogKernelAcceptOperation) Reset() {
+ *x = AccessLogKernelAcceptOperation{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[17]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogKernelAcceptOperation) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogKernelAcceptOperation) ProtoMessage() {}
+
+func (x *AccessLogKernelAcceptOperation) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[17]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogKernelAcceptOperation.ProtoReflect.Descriptor instead.
+func (*AccessLogKernelAcceptOperation) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{17}
+}
+
+func (x *AccessLogKernelAcceptOperation) GetStartTime() *EBPFTimestamp {
+ if x != nil {
+ return x.StartTime
+ }
+ return nil
+}
+
+func (x *AccessLogKernelAcceptOperation) GetEndTime() *EBPFTimestamp {
+ if x != nil {
+ return x.EndTime
+ }
+ return nil
+}
+
+type AccessLogKernelCloseOperation struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Starting to close the connection timestamp
+ StartTime *EBPFTimestamp `protobuf:"bytes,1,opt,name=startTime,proto3" json:"startTime,omitempty"`
+ // Finish close operation timestamp
+ EndTime *EBPFTimestamp `protobuf:"bytes,2,opt,name=endTime,proto3" json:"endTime,omitempty"`
+ // Is the close operation success or not
+ Success bool `protobuf:"varint,3,opt,name=success,proto3" json:"success,omitempty"`
+}
+
+func (x *AccessLogKernelCloseOperation) Reset() {
+ *x = AccessLogKernelCloseOperation{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[18]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogKernelCloseOperation) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogKernelCloseOperation) ProtoMessage() {}
+
+func (x *AccessLogKernelCloseOperation) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[18]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogKernelCloseOperation.ProtoReflect.Descriptor instead.
+func (*AccessLogKernelCloseOperation) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{18}
+}
+
+func (x *AccessLogKernelCloseOperation) GetStartTime() *EBPFTimestamp {
+ if x != nil {
+ return x.StartTime
+ }
+ return nil
+}
+
+func (x *AccessLogKernelCloseOperation) GetEndTime() *EBPFTimestamp {
+ if x != nil {
+ return x.EndTime
+ }
+ return nil
+}
+
+func (x *AccessLogKernelCloseOperation) GetSuccess() bool {
+ if x != nil {
+ return x.Success
+ }
+ return false
+}
+
+type AccessLogKernelWriteOperation struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Starting to write data timestamp
+ StartTime *EBPFTimestamp `protobuf:"bytes,1,opt,name=startTime,proto3" json:"startTime,omitempty"`
+ // Finish write operation timestamp
+ EndTime *EBPFTimestamp `protobuf:"bytes,2,opt,name=endTime,proto3" json:"endTime,omitempty"`
+ // Which kind of syscall of current write operation
+ Syscall AccessLogKernelWriteSyscall `protobuf:"varint,3,opt,name=syscall,proto3,enum=skywalking.v3.AccessLogKernelWriteSyscall" json:"syscall,omitempty"`
+ // Layer 2-4 related metrics
+ L4Metrics *AccessLogKernelWriteL4Metrics `protobuf:"bytes,4,opt,name=l4Metrics,proto3" json:"l4Metrics,omitempty"`
+ L3Metrics *AccessLogKernelWriteL3Metrics `protobuf:"bytes,5,opt,name=l3Metrics,proto3" json:"l3Metrics,omitempty"`
+ L2Metrics *AccessLogKernelWriteL2Metrics `protobuf:"bytes,6,opt,name=l2Metrics,proto3" json:"l2Metrics,omitempty"`
+}
+
+func (x *AccessLogKernelWriteOperation) Reset() {
+ *x = AccessLogKernelWriteOperation{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[19]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogKernelWriteOperation) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogKernelWriteOperation) ProtoMessage() {}
+
+func (x *AccessLogKernelWriteOperation) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[19]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogKernelWriteOperation.ProtoReflect.Descriptor instead.
+func (*AccessLogKernelWriteOperation) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{19}
+}
+
+func (x *AccessLogKernelWriteOperation) GetStartTime() *EBPFTimestamp {
+ if x != nil {
+ return x.StartTime
+ }
+ return nil
+}
+
+func (x *AccessLogKernelWriteOperation) GetEndTime() *EBPFTimestamp {
+ if x != nil {
+ return x.EndTime
+ }
+ return nil
+}
+
+func (x *AccessLogKernelWriteOperation) GetSyscall() AccessLogKernelWriteSyscall {
+ if x != nil {
+ return x.Syscall
+ }
+ return AccessLogKernelWriteSyscall_Write
+}
+
+func (x *AccessLogKernelWriteOperation) GetL4Metrics() *AccessLogKernelWriteL4Metrics {
+ if x != nil {
+ return x.L4Metrics
+ }
+ return nil
+}
+
+func (x *AccessLogKernelWriteOperation) GetL3Metrics() *AccessLogKernelWriteL3Metrics {
+ if x != nil {
+ return x.L3Metrics
+ }
+ return nil
+}
+
+func (x *AccessLogKernelWriteOperation) GetL2Metrics() *AccessLogKernelWriteL2Metrics {
+ if x != nil {
+ return x.L2Metrics
+ }
+ return nil
+}
+
+type AccessLogKernelWriteL4Metrics struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // total duration(nanosecond) of layer 4
+ TotalDuration uint64 `protobuf:"varint,1,opt,name=totalDuration,proto3" json:"totalDuration,omitempty"`
+ // total send package(contains retransmit count) count(sk_buff in linux)
+ TotalTransmitPackageCount int64 `protobuf:"varint,2,opt,name=totalTransmitPackageCount,proto3" json:"totalTransmitPackageCount,omitempty"`
+ // total retransmit package count(sk_buff in linux)
+ TotalRetransmitPackageCount int64 `protobuf:"varint,3,opt,name=totalRetransmitPackageCount,proto3" json:"totalRetransmitPackageCount,omitempty"`
+ // total losted package count metrics
+ LossPackageMetrics []*AccessLogLossPackageMetrics `protobuf:"bytes,4,rep,name=lossPackageMetrics,proto3" json:"lossPackageMetrics,omitempty"`
+ // total package size(bytes)
+ TotalPackageSize int64 `protobuf:"varint,5,opt,name=totalPackageSize,proto3" json:"totalPackageSize,omitempty"`
+}
+
+func (x *AccessLogKernelWriteL4Metrics) Reset() {
+ *x = AccessLogKernelWriteL4Metrics{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[20]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogKernelWriteL4Metrics) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogKernelWriteL4Metrics) ProtoMessage() {}
+
+func (x *AccessLogKernelWriteL4Metrics) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[20]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogKernelWriteL4Metrics.ProtoReflect.Descriptor instead.
+func (*AccessLogKernelWriteL4Metrics) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{20}
+}
+
+func (x *AccessLogKernelWriteL4Metrics) GetTotalDuration() uint64 {
+ if x != nil {
+ return x.TotalDuration
+ }
+ return 0
+}
+
+func (x *AccessLogKernelWriteL4Metrics) GetTotalTransmitPackageCount() int64 {
+ if x != nil {
+ return x.TotalTransmitPackageCount
+ }
+ return 0
+}
+
+func (x *AccessLogKernelWriteL4Metrics) GetTotalRetransmitPackageCount() int64 {
+ if x != nil {
+ return x.TotalRetransmitPackageCount
+ }
+ return 0
+}
+
+func (x *AccessLogKernelWriteL4Metrics) GetLossPackageMetrics() []*AccessLogLossPackageMetrics {
+ if x != nil {
+ return x.LossPackageMetrics
+ }
+ return nil
+}
+
+func (x *AccessLogKernelWriteL4Metrics) GetTotalPackageSize() int64 {
+ if x != nil {
+ return x.TotalPackageSize
+ }
+ return 0
+}
+
+type AccessLogLossPackageMetrics struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
+ Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
+}
+
+func (x *AccessLogLossPackageMetrics) Reset() {
+ *x = AccessLogLossPackageMetrics{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[21]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogLossPackageMetrics) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogLossPackageMetrics) ProtoMessage() {}
+
+func (x *AccessLogLossPackageMetrics) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[21]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogLossPackageMetrics.ProtoReflect.Descriptor instead.
+func (*AccessLogLossPackageMetrics) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{21}
+}
+
+func (x *AccessLogLossPackageMetrics) GetLocation() string {
+ if x != nil {
+ return x.Location
+ }
+ return ""
+}
+
+func (x *AccessLogLossPackageMetrics) GetCount() int32 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+type AccessLogKernelWriteL3Metrics struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // total duration(nanosecond) of layer 3
+ TotalDuration uint64 `protobuf:"varint,1,opt,name=totalDuration,proto3" json:"totalDuration,omitempty"`
+ // total local out use duration(nanoseconds) -> kernel: ip_local_out
+ TotalLocalDuration uint64 `protobuf:"varint,2,opt,name=totalLocalDuration,proto3" json:"totalLocalDuration,omitempty"`
+ // total output use duration(nanoseconds) -> kernel: ip_finish_output2 - ip_output
+ TotalOutputDuration uint64 `protobuf:"varint,3,opt,name=totalOutputDuration,proto3" json:"totalOutputDuration,omitempty"`
+ // total resolve remote MAC address(ARP Request) count and duration(nanosecond) -> kernel: neigh_resolve_output
+ TotalResolveMACCount uint64 `protobuf:"varint,5,opt,name=totalResolveMACCount,proto3" json:"totalResolveMACCount,omitempty"`
+ TotalResolveMACDuration uint64 `protobuf:"varint,6,opt,name=totalResolveMACDuration,proto3" json:"totalResolveMACDuration,omitempty"`
+ // total netfiltering count and duration(nanosecond) -> kernel: nf_hook
+ TotalNetFilterCount uint64 `protobuf:"varint,7,opt,name=totalNetFilterCount,proto3" json:"totalNetFilterCount,omitempty"`
+ TotalNetFilterDuration uint64 `protobuf:"varint,8,opt,name=totalNetFilterDuration,proto3" json:"totalNetFilterDuration,omitempty"`
+}
+
+func (x *AccessLogKernelWriteL3Metrics) Reset() {
+ *x = AccessLogKernelWriteL3Metrics{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[22]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogKernelWriteL3Metrics) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogKernelWriteL3Metrics) ProtoMessage() {}
+
+func (x *AccessLogKernelWriteL3Metrics) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[22]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogKernelWriteL3Metrics.ProtoReflect.Descriptor instead.
+func (*AccessLogKernelWriteL3Metrics) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{22}
+}
+
+func (x *AccessLogKernelWriteL3Metrics) GetTotalDuration() uint64 {
+ if x != nil {
+ return x.TotalDuration
+ }
+ return 0
+}
+
+func (x *AccessLogKernelWriteL3Metrics) GetTotalLocalDuration() uint64 {
+ if x != nil {
+ return x.TotalLocalDuration
+ }
+ return 0
+}
+
+func (x *AccessLogKernelWriteL3Metrics) GetTotalOutputDuration() uint64 {
+ if x != nil {
+ return x.TotalOutputDuration
+ }
+ return 0
+}
+
+func (x *AccessLogKernelWriteL3Metrics) GetTotalResolveMACCount() uint64 {
+ if x != nil {
+ return x.TotalResolveMACCount
+ }
+ return 0
+}
+
+func (x *AccessLogKernelWriteL3Metrics) GetTotalResolveMACDuration() uint64 {
+ if x != nil {
+ return x.TotalResolveMACDuration
+ }
+ return 0
+}
+
+func (x *AccessLogKernelWriteL3Metrics) GetTotalNetFilterCount() uint64 {
+ if x != nil {
+ return x.TotalNetFilterCount
+ }
+ return 0
+}
+
+func (x *AccessLogKernelWriteL3Metrics) GetTotalNetFilterDuration() uint64 {
+ if x != nil {
+ return x.TotalNetFilterDuration
+ }
+ return 0
+}
+
+type AccessLogKernelWriteL2Metrics struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // total duration(nanosecond) of layer 2
+ TotalDuration uint64 `protobuf:"varint,1,opt,name=totalDuration,proto3" json:"totalDuration,omitempty"`
+ // target network hardware interface index, get the net hardware name through EBPFAccessLogNodeNetInterface#index
+ Ifindex uint32 `protobuf:"varint,2,opt,name=ifindex,proto3" json:"ifindex,omitempty"`
+ // total enter the net device buffer count
+ TotalEnterQueueBufferCount uint64 `protobuf:"varint,3,opt,name=totalEnterQueueBufferCount,proto3" json:"totalEnterQueueBufferCount,omitempty"`
+ // total buffer data ready to send duration(nanosecond), ready_to_send - enter_queue
+ TotalReadySendDuration uint64 `protobuf:"varint,4,opt,name=totalReadySendDuration,proto3" json:"totalReadySendDuration,omitempty"`
+ // total send buffer to the net device duration(nanosecond)
+ TotalNetDeviceSendDuration uint64 `protobuf:"varint,5,opt,name=totalNetDeviceSendDuration,proto3" json:"totalNetDeviceSendDuration,omitempty"`
+}
+
+func (x *AccessLogKernelWriteL2Metrics) Reset() {
+ *x = AccessLogKernelWriteL2Metrics{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[23]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogKernelWriteL2Metrics) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogKernelWriteL2Metrics) ProtoMessage() {}
+
+func (x *AccessLogKernelWriteL2Metrics) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[23]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogKernelWriteL2Metrics.ProtoReflect.Descriptor instead.
+func (*AccessLogKernelWriteL2Metrics) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{23}
+}
+
+func (x *AccessLogKernelWriteL2Metrics) GetTotalDuration() uint64 {
+ if x != nil {
+ return x.TotalDuration
+ }
+ return 0
+}
+
+func (x *AccessLogKernelWriteL2Metrics) GetIfindex() uint32 {
+ if x != nil {
+ return x.Ifindex
+ }
+ return 0
+}
+
+func (x *AccessLogKernelWriteL2Metrics) GetTotalEnterQueueBufferCount() uint64 {
+ if x != nil {
+ return x.TotalEnterQueueBufferCount
+ }
+ return 0
+}
+
+func (x *AccessLogKernelWriteL2Metrics) GetTotalReadySendDuration() uint64 {
+ if x != nil {
+ return x.TotalReadySendDuration
+ }
+ return 0
+}
+
+func (x *AccessLogKernelWriteL2Metrics) GetTotalNetDeviceSendDuration() uint64 {
+ if x != nil {
+ return x.TotalNetDeviceSendDuration
+ }
+ return 0
+}
+
+type AccessLogKernelReadOperation struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Starting to read data timestamp
+ StartTime *EBPFTimestamp `protobuf:"bytes,1,opt,name=startTime,proto3" json:"startTime,omitempty"`
+ // Finish read operation timestamp
+ EndTime *EBPFTimestamp `protobuf:"bytes,2,opt,name=endTime,proto3" json:"endTime,omitempty"`
+ // Which kind of syscall of current read operation
+ Syscall AccessLogKernelReadSyscall `protobuf:"varint,3,opt,name=syscall,proto3,enum=skywalking.v3.AccessLogKernelReadSyscall" json:"syscall,omitempty"`
+ // Layer 2-4 related metrics
+ L2Metrics *AccessLogKernelReadL2Metrics `protobuf:"bytes,4,opt,name=l2Metrics,proto3" json:"l2Metrics,omitempty"`
+ L3Metrics *AccessLogKernelReadL3Metrics `protobuf:"bytes,5,opt,name=l3Metrics,proto3" json:"l3Metrics,omitempty"`
+ L4Metrics *AccessLogKernelReadL4Metrics `protobuf:"bytes,6,opt,name=l4Metrics,proto3" json:"l4Metrics,omitempty"`
+}
+
+func (x *AccessLogKernelReadOperation) Reset() {
+ *x = AccessLogKernelReadOperation{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[24]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogKernelReadOperation) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogKernelReadOperation) ProtoMessage() {}
+
+func (x *AccessLogKernelReadOperation) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[24]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogKernelReadOperation.ProtoReflect.Descriptor instead.
+func (*AccessLogKernelReadOperation) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{24}
+}
+
+func (x *AccessLogKernelReadOperation) GetStartTime() *EBPFTimestamp {
+ if x != nil {
+ return x.StartTime
+ }
+ return nil
+}
+
+func (x *AccessLogKernelReadOperation) GetEndTime() *EBPFTimestamp {
+ if x != nil {
+ return x.EndTime
+ }
+ return nil
+}
+
+func (x *AccessLogKernelReadOperation) GetSyscall() AccessLogKernelReadSyscall {
+ if x != nil {
+ return x.Syscall
+ }
+ return AccessLogKernelReadSyscall_Read
+}
+
+func (x *AccessLogKernelReadOperation) GetL2Metrics() *AccessLogKernelReadL2Metrics {
+ if x != nil {
+ return x.L2Metrics
+ }
+ return nil
+}
+
+func (x *AccessLogKernelReadOperation) GetL3Metrics() *AccessLogKernelReadL3Metrics {
+ if x != nil {
+ return x.L3Metrics
+ }
+ return nil
+}
+
+func (x *AccessLogKernelReadOperation) GetL4Metrics() *AccessLogKernelReadL4Metrics {
+ if x != nil {
+ return x.L4Metrics
+ }
+ return nil
+}
+
+type AccessLogKernelReadL2Metrics struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // from network hardware interface index, get the net hardware name through EBPFAccessLogNodeNetInterface#index
+ Ifindex uint32 `protobuf:"varint,1,opt,name=ifindex,proto3" json:"ifindex,omitempty"`
+ // total package count
+ TotalPackageCount uint32 `protobuf:"varint,2,opt,name=totalPackageCount,proto3" json:"totalPackageCount,omitempty"`
+ // total package size
+ TotalPackageSize uint64 `protobuf:"varint,3,opt,name=totalPackageSize,proto3" json:"totalPackageSize,omitempty"`
+ // total duration(nanosecond) of all data packets queued (waiting to be read).
+ TotalPackageToQueueDuration uint64 `protobuf:"varint,4,opt,name=totalPackageToQueueDuration,proto3" json:"totalPackageToQueueDuration,omitempty"`
+ // total duration(nanosecond) of all data packets read from the queue.
+ TotalRcvPackageFromQueueDuration uint64 `protobuf:"varint,5,opt,name=totalRcvPackageFromQueueDuration,proto3" json:"totalRcvPackageFromQueueDuration,omitempty"`
+}
+
+func (x *AccessLogKernelReadL2Metrics) Reset() {
+ *x = AccessLogKernelReadL2Metrics{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[25]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogKernelReadL2Metrics) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogKernelReadL2Metrics) ProtoMessage() {}
+
+func (x *AccessLogKernelReadL2Metrics) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[25]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogKernelReadL2Metrics.ProtoReflect.Descriptor instead.
+func (*AccessLogKernelReadL2Metrics) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{25}
+}
+
+func (x *AccessLogKernelReadL2Metrics) GetIfindex() uint32 {
+ if x != nil {
+ return x.Ifindex
+ }
+ return 0
+}
+
+func (x *AccessLogKernelReadL2Metrics) GetTotalPackageCount() uint32 {
+ if x != nil {
+ return x.TotalPackageCount
+ }
+ return 0
+}
+
+func (x *AccessLogKernelReadL2Metrics) GetTotalPackageSize() uint64 {
+ if x != nil {
+ return x.TotalPackageSize
+ }
+ return 0
+}
+
+func (x *AccessLogKernelReadL2Metrics) GetTotalPackageToQueueDuration() uint64 {
+ if x != nil {
+ return x.TotalPackageToQueueDuration
+ }
+ return 0
+}
+
+func (x *AccessLogKernelReadL2Metrics) GetTotalRcvPackageFromQueueDuration() uint64 {
+ if x != nil {
+ return x.TotalRcvPackageFromQueueDuration
+ }
+ return 0
+}
+
+type AccessLogKernelReadL3Metrics struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TotalDuration uint64 `protobuf:"varint,1,opt,name=totalDuration,proto3" json:"totalDuration,omitempty"`
+ // total local receive use duration(nanoseconds) -> kernel: ip_rcv_finish - ip_rcv
+ TotalRecvDuration uint64 `protobuf:"varint,2,opt,name=totalRecvDuration,proto3" json:"totalRecvDuration,omitempty"`
+ // total local use duration(nanoseconds) -> kernel: ip_local_deliver_finish - ip_local_deliver
+ TotalLocalDuration uint64 `protobuf:"varint,3,opt,name=totalLocalDuration,proto3" json:"totalLocalDuration,omitempty"`
+ // total netfiltering count and duration(nanosecond) -> kernel: nf_hook
+ TotalNetFilterCount uint64 `protobuf:"varint,4,opt,name=totalNetFilterCount,proto3" json:"totalNetFilterCount,omitempty"`
+ TotalNetFilterDuration uint64 `protobuf:"varint,5,opt,name=totalNetFilterDuration,proto3" json:"totalNetFilterDuration,omitempty"`
+}
+
+func (x *AccessLogKernelReadL3Metrics) Reset() {
+ *x = AccessLogKernelReadL3Metrics{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[26]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogKernelReadL3Metrics) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogKernelReadL3Metrics) ProtoMessage() {}
+
+func (x *AccessLogKernelReadL3Metrics) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[26]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogKernelReadL3Metrics.ProtoReflect.Descriptor instead.
+func (*AccessLogKernelReadL3Metrics) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{26}
+}
+
+func (x *AccessLogKernelReadL3Metrics) GetTotalDuration() uint64 {
+ if x != nil {
+ return x.TotalDuration
+ }
+ return 0
+}
+
+func (x *AccessLogKernelReadL3Metrics) GetTotalRecvDuration() uint64 {
+ if x != nil {
+ return x.TotalRecvDuration
+ }
+ return 0
+}
+
+func (x *AccessLogKernelReadL3Metrics) GetTotalLocalDuration() uint64 {
+ if x != nil {
+ return x.TotalLocalDuration
+ }
+ return 0
+}
+
+func (x *AccessLogKernelReadL3Metrics) GetTotalNetFilterCount() uint64 {
+ if x != nil {
+ return x.TotalNetFilterCount
+ }
+ return 0
+}
+
+func (x *AccessLogKernelReadL3Metrics) GetTotalNetFilterDuration() uint64 {
+ if x != nil {
+ return x.TotalNetFilterDuration
+ }
+ return 0
+}
+
+type AccessLogKernelReadL4Metrics struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TotalDuration uint64 `protobuf:"varint,1,opt,name=totalDuration,proto3" json:"totalDuration,omitempty"`
+}
+
+func (x *AccessLogKernelReadL4Metrics) Reset() {
+ *x = AccessLogKernelReadL4Metrics{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[27]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AccessLogKernelReadL4Metrics) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AccessLogKernelReadL4Metrics) ProtoMessage() {}
+
+func (x *AccessLogKernelReadL4Metrics) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[27]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AccessLogKernelReadL4Metrics.ProtoReflect.Descriptor instead.
+func (*AccessLogKernelReadL4Metrics) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{27}
+}
+
+func (x *AccessLogKernelReadL4Metrics) GetTotalDuration() uint64 {
+ if x != nil {
+ return x.TotalDuration
+ }
+ return 0
+}
+
+type EBPFTimestamp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Timestamp:
+ //
+ // *EBPFTimestamp_Offset
+ Timestamp isEBPFTimestamp_Timestamp `protobuf_oneof:"timestamp"`
+}
+
+func (x *EBPFTimestamp) Reset() {
+ *x = EBPFTimestamp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[28]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFTimestamp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFTimestamp) ProtoMessage() {}
+
+func (x *EBPFTimestamp) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[28]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFTimestamp.ProtoReflect.Descriptor instead.
+func (*EBPFTimestamp) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{28}
+}
+
+func (m *EBPFTimestamp) GetTimestamp() isEBPFTimestamp_Timestamp {
+ if m != nil {
+ return m.Timestamp
+ }
+ return nil
+}
+
+func (x *EBPFTimestamp) GetOffset() *EBPFOffsetTimestamp {
+ if x, ok := x.GetTimestamp().(*EBPFTimestamp_Offset); ok {
+ return x.Offset
+ }
+ return nil
+}
+
+type isEBPFTimestamp_Timestamp interface {
+ isEBPFTimestamp_Timestamp()
+}
+
+type EBPFTimestamp_Offset struct {
+ Offset *EBPFOffsetTimestamp `protobuf:"bytes,1,opt,name=offset,proto3,oneof"`
+}
+
+func (*EBPFTimestamp_Offset) isEBPFTimestamp_Timestamp() {}
+
+// Get nanosecond through offset with node start instant
+type EBPFOffsetTimestamp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"`
+}
+
+func (x *EBPFOffsetTimestamp) Reset() {
+ *x = EBPFOffsetTimestamp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[29]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFOffsetTimestamp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFOffsetTimestamp) ProtoMessage() {}
+
+func (x *EBPFOffsetTimestamp) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[29]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFOffsetTimestamp.ProtoReflect.Descriptor instead.
+func (*EBPFOffsetTimestamp) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{29}
+}
+
+func (x *EBPFOffsetTimestamp) GetOffset() uint64 {
+ if x != nil {
+ return x.Offset
+ }
+ return 0
+}
+
+type EBPFAccessLogDownstream struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *EBPFAccessLogDownstream) Reset() {
+ *x = EBPFAccessLogDownstream{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_accesslog_proto_msgTypes[30]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFAccessLogDownstream) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFAccessLogDownstream) ProtoMessage() {}
+
+func (x *EBPFAccessLogDownstream) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_accesslog_proto_msgTypes[30]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFAccessLogDownstream.ProtoReflect.Descriptor instead.
+func (*EBPFAccessLogDownstream) Descriptor() ([]byte, []int) {
+ return file_ebpf_accesslog_proto_rawDescGZIP(), []int{30}
+}
+
+var File_ebpf_accesslog_proto protoreflect.FileDescriptor
+
+var file_ebpf_accesslog_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x65, 0x62, 0x70, 0x66, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x43, 0x6f,
+ 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9f, 0x02, 0x0a, 0x14, 0x45,
+ 0x42, 0x50, 0x46, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4e,
+ 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x42, 0x0a,
+ 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x12, 0x41, 0x0a, 0x0a, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b,
+ 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x4c, 0x6f, 0x67, 0x52, 0x0a, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c,
+ 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x46, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
+ 0x4c, 0x6f, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x6b, 0x79, 0x77,
+ 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x4c, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52,
+ 0x0b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4c, 0x6f, 0x67, 0x22, 0x91, 0x02, 0x0a,
+ 0x15, 0x45, 0x42, 0x50, 0x46, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4e, 0x6f,
+ 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x6e, 0x65,
+ 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4e,
+ 0x6f, 0x64, 0x65, 0x4e, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52,
+ 0x0d, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x32,
+ 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x16, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33,
+ 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d,
+ 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
+ 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c,
+ 0x6f, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x22, 0x43, 0x0a, 0x13, 0x45, 0x42, 0x50, 0x46, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f,
+ 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75,
+ 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x73, 0x22, 0x5b, 0x0a, 0x1d, 0x45, 0x42, 0x50, 0x46, 0x41, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x65, 0x74, 0x49, 0x6e, 0x74,
+ 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03,
+ 0x6d, 0x74, 0x75, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x12, 0x12,
+ 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x22, 0x83, 0x03, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67,
+ 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x05, 0x6c, 0x6f,
+ 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x6b, 0x79, 0x77,
+ 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x05, 0x6c, 0x6f, 0x63,
+ 0x61, 0x6c, 0x12, 0x38, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64,
+ 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x04,
+ 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x6b, 0x79,
+ 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63,
+ 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x07,
+ 0x74, 0x6c, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e,
+ 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63,
+ 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x54, 0x4c, 0x53, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x74, 0x6c, 0x73, 0x4d, 0x6f, 0x64,
+ 0x65, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x50, 0x72, 0x6f,
+ 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x63, 0x6f, 0x6c, 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e,
+ 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x74,
+ 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x6e, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x6e,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74,
+ 0x12, 0x47, 0x0a, 0x07, 0x7a, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x33, 0x2e, 0x5a, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d,
+ 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00,
+ 0x52, 0x07, 0x7a, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x65, 0x6e, 0x76,
+ 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xec, 0x01, 0x0a, 0x1c, 0x5a, 0x54, 0x75,
+ 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e,
+ 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x61,
+ 0x6c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x70,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x61, 0x6c, 0x44, 0x65, 0x73, 0x74,
+ 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x70, 0x12, 0x43, 0x0a, 0x02, 0x62, 0x79, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x5a, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74,
+ 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
+ 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x42, 0x79, 0x52, 0x02, 0x62, 0x79, 0x12, 0x57,
+ 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63,
+ 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x5a, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41,
+ 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74,
+ 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74,
+ 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x95, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a,
+ 0x0a, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x33, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x63,
+ 0x65, 0x73, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x6b, 0x75,
+ 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00,
+ 0x52, 0x02, 0x69, 0x70, 0x42, 0x09, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22,
+ 0xb2, 0x01, 0x0a, 0x18, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x50, 0x72,
+ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b,
+ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18,
+ 0x0a, 0x07, 0x70, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x07, 0x70, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74,
+ 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20,
+ 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65,
+ 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
+ 0x70, 0x6f, 0x72, 0x74, 0x22, 0x33, 0x0a, 0x09, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
+ 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x85, 0x03, 0x0a, 0x12, 0x41, 0x63,
+ 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x4c, 0x6f, 0x67,
+ 0x12, 0x4a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65,
+ 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x47, 0x0a, 0x06,
+ 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73,
+ 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65,
+ 0x70, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x61,
+ 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0x44, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65,
+ 0x72, 0x6e, 0x65, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x72,
+ 0x65, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x6b, 0x79, 0x77,
+ 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x65,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x72, 0x65, 0x61, 0x64, 0x12, 0x44,
+ 0x0a, 0x05, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
+ 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63,
+ 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x57, 0x72, 0x69,
+ 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x77,
+ 0x72, 0x69, 0x74, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x22, 0x5f, 0x0a, 0x15, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x50, 0x72,
+ 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x04, 0x68, 0x74,
+ 0x74, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61,
+ 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c,
+ 0x6f, 0x67, 0x48, 0x54, 0x54, 0x50, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x00,
+ 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x42, 0x0a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
+ 0x6f, 0x6c, 0x22, 0xe3, 0x02, 0x0a, 0x15, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67,
+ 0x48, 0x54, 0x54, 0x50, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x3a, 0x0a, 0x09,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1c, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e,
+ 0x45, 0x42, 0x50, 0x46, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54,
+ 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x6b, 0x79, 0x77,
+ 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x54, 0x69,
+ 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x45, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x2b, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x48, 0x54, 0x54, 0x50, 0x50,
+ 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07,
+ 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61,
+ 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c,
+ 0x6f, 0x67, 0x48, 0x54, 0x54, 0x50, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48,
+ 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2c, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33,
+ 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x48, 0x54, 0x54, 0x50, 0x50, 0x72,
+ 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08,
+ 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa4, 0x02, 0x0a, 0x1c, 0x41, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x48, 0x54, 0x54, 0x50, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
+ 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x6d, 0x65, 0x74,
+ 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x73, 0x6b, 0x79, 0x77,
+ 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x4c, 0x6f, 0x67, 0x48, 0x54, 0x54, 0x50, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65,
+ 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x69, 0x7a, 0x65,
+ 0x4f, 0x66, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x73, 0x69, 0x7a, 0x65, 0x4f, 0x66, 0x48, 0x65, 0x61, 0x64,
+ 0x65, 0x72, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x69, 0x7a, 0x65,
+ 0x4f, 0x66, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x0f, 0x73, 0x69, 0x7a, 0x65, 0x4f, 0x66, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x79, 0x74,
+ 0x65, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x54, 0x72, 0x61, 0x63, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68,
+ 0x6f, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x22,
+ 0x99, 0x01, 0x0a, 0x1d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x48, 0x54, 0x54,
+ 0x50, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64,
+ 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x69, 0x7a, 0x65, 0x4f, 0x66, 0x48, 0x65, 0x61, 0x64, 0x65,
+ 0x72, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x73,
+ 0x69, 0x7a, 0x65, 0x4f, 0x66, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x42, 0x79, 0x74, 0x65,
+ 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x69, 0x7a, 0x65, 0x4f, 0x66, 0x42, 0x6f, 0x64, 0x79, 0x42,
+ 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x73, 0x69, 0x7a, 0x65,
+ 0x4f, 0x66, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x12,
+ 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x54, 0x72, 0x61, 0x63, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x45, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x54, 0x72,
+ 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52,
+ 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61,
+ 0x63, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63,
+ 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x67, 0x6d,
+ 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61,
+ 0x63, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73,
+ 0x70, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x70, 0x61,
+ 0x6e, 0x49, 0x64, 0x22, 0xaf, 0x01, 0x0a, 0x1f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f,
+ 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x70,
+ 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x6b, 0x79,
+ 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x54,
+ 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
+ 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73,
+ 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x1e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4f,
+ 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72,
+ 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x6b,
+ 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46,
+ 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
+ 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xad, 0x01, 0x0a,
+ 0x1d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c,
+ 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a,
+ 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
+ 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x65, 0x6e,
+ 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x6b,
+ 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46,
+ 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xbd, 0x03, 0x0a,
+ 0x1d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c,
+ 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a,
+ 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
+ 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x65, 0x6e,
+ 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x6b,
+ 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46,
+ 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x07, 0x73, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72,
+ 0x6e, 0x65, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x52,
+ 0x07, 0x73, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x4a, 0x0a, 0x09, 0x6c, 0x34, 0x4d, 0x65,
+ 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x6b,
+ 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65,
+ 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65,
+ 0x4c, 0x34, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x09, 0x6c, 0x34, 0x4d, 0x65, 0x74,
+ 0x72, 0x69, 0x63, 0x73, 0x12, 0x4a, 0x0a, 0x09, 0x6c, 0x33, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
+ 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f,
+ 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x33, 0x4d, 0x65,
+ 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x09, 0x6c, 0x33, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
+ 0x12, 0x4a, 0x0a, 0x09, 0x6c, 0x32, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72,
+ 0x6e, 0x65, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x32, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
+ 0x73, 0x52, 0x09, 0x6c, 0x32, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xcd, 0x02, 0x0a,
+ 0x1d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c,
+ 0x57, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x34, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x24,
+ 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x72, 0x61,
+ 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x72,
+ 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x1b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65,
+ 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5a, 0x0a, 0x12, 0x6c, 0x6f, 0x73, 0x73, 0x50, 0x61, 0x63, 0x6b,
+ 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x2a, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33,
+ 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4c, 0x6f, 0x73, 0x73, 0x50, 0x61,
+ 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x12, 0x6c, 0x6f,
+ 0x73, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
+ 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
+ 0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61,
+ 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x4f, 0x0a, 0x1b,
+ 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4c, 0x6f, 0x73, 0x73, 0x50, 0x61, 0x63,
+ 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xff, 0x02,
+ 0x0a, 0x1d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65,
+ 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x33, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12,
+ 0x24, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x75, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x6f,
+ 0x63, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x75, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x75,
+ 0x74, 0x70, 0x75, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c,
+ 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x41, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f,
+ 0x6c, 0x76, 0x65, 0x4d, 0x41, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x17, 0x74,
+ 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x41, 0x43, 0x44, 0x75,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f,
+ 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x41, 0x43, 0x44, 0x75, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x65,
+ 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x74,
+ 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c,
+ 0x4e, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x65,
+ 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
+ 0x97, 0x02, 0x0a, 0x1d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72,
+ 0x6e, 0x65, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x32, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
+ 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x66, 0x69, 0x6e, 0x64,
+ 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x66, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x12, 0x3e, 0x0a, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x51,
+ 0x75, 0x65, 0x75, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x65,
+ 0x72, 0x51, 0x75, 0x65, 0x75, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x79, 0x53,
+ 0x65, 0x6e, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x79, 0x53, 0x65, 0x6e,
+ 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x1a, 0x74, 0x6f, 0x74,
+ 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x44,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 0x74,
+ 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x6e,
+ 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb8, 0x03, 0x0a, 0x1c, 0x41, 0x63,
+ 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x61,
+ 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x09, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
+ 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42,
+ 0x50, 0x46, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x54, 0x69, 0x6d, 0x65,
+ 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43,
+ 0x0a, 0x07, 0x73, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x29, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e,
+ 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x52,
+ 0x65, 0x61, 0x64, 0x53, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x07, 0x73, 0x79, 0x73, 0x63,
+ 0x61, 0x6c, 0x6c, 0x12, 0x49, 0x0a, 0x09, 0x6c, 0x32, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67,
+ 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x4c, 0x32, 0x4d, 0x65, 0x74, 0x72,
+ 0x69, 0x63, 0x73, 0x52, 0x09, 0x6c, 0x32, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x49,
+ 0x0a, 0x09, 0x6c, 0x33, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65,
+ 0x6c, 0x52, 0x65, 0x61, 0x64, 0x4c, 0x33, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x09,
+ 0x6c, 0x33, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x49, 0x0a, 0x09, 0x6c, 0x34, 0x4d,
+ 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73,
+ 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x61, 0x64,
+ 0x4c, 0x34, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x09, 0x6c, 0x34, 0x4d, 0x65, 0x74,
+ 0x72, 0x69, 0x63, 0x73, 0x22, 0xa0, 0x02, 0x0a, 0x1c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c,
+ 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x4c, 0x32, 0x4d, 0x65,
+ 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12,
+ 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61,
+ 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a,
+ 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61,
+ 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x74, 0x6f, 0x74,
+ 0x61, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65,
+ 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1b,
+ 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x51, 0x75,
+ 0x65, 0x75, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x20, 0x74,
+ 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x63, 0x76, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x46, 0x72,
+ 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x63, 0x76, 0x50,
+ 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x02, 0x0a, 0x1c, 0x41, 0x63, 0x63, 0x65,
+ 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x4c,
+ 0x33, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61,
+ 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c,
+ 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x44, 0x75, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c,
+ 0x52, 0x65, 0x63, 0x76, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x12,
+ 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4c,
+ 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x13,
+ 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c,
+ 0x4e, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36,
+ 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
+ 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16,
+ 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x75,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0x0a, 0x1c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x4c, 0x34, 0x4d,
+ 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x74,
+ 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5a, 0x0a, 0x0d,
+ 0x45, 0x42, 0x50, 0x46, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3c, 0x0a,
+ 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
+ 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42,
+ 0x50, 0x46, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
+ 0x70, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x74,
+ 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x2d, 0x0a, 0x13, 0x45, 0x42, 0x50, 0x46,
+ 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12,
+ 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x19, 0x0a, 0x17, 0x45, 0x42, 0x50, 0x46, 0x41,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65,
+ 0x61, 0x6d, 0x2a, 0x5b, 0x0a, 0x24, 0x5a, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74,
+ 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
+ 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x42, 0x79, 0x12, 0x19, 0x0a, 0x15, 0x5a, 0x54,
+ 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4f, 0x55, 0x54, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x46,
+ 0x55, 0x4e, 0x43, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x5a, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c,
+ 0x5f, 0x49, 0x4e, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x10, 0x01, 0x2a,
+ 0x35, 0x0a, 0x1f, 0x5a, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68,
+ 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69,
+ 0x63, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x54, 0x4c, 0x53, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04,
+ 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x2a, 0x30, 0x0a, 0x1a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x4c, 0x53,
+ 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x10, 0x00, 0x12,
+ 0x07, 0x0a, 0x03, 0x54, 0x4c, 0x53, 0x10, 0x01, 0x2a, 0x34, 0x0a, 0x1c, 0x41, 0x63, 0x63, 0x65,
+ 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x48, 0x54, 0x54, 0x50, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
+ 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50,
+ 0x31, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x32, 0x10, 0x01, 0x2a, 0x38,
+ 0x0a, 0x1a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x54, 0x72, 0x61, 0x63, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x0a, 0x0a, 0x06,
+ 0x5a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x6b, 0x79, 0x57,
+ 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x2a, 0x86, 0x01, 0x0a, 0x22, 0x41, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x48, 0x54, 0x54, 0x50, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
+ 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12,
+ 0x07, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x6f, 0x73, 0x74,
+ 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x75, 0x74, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x44,
+ 0x65, 0x6c, 0x65, 0x74, 0x65, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x10,
+ 0x04, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07,
+ 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x72, 0x61,
+ 0x63, 0x65, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x10,
+ 0x08, 0x2a, 0x83, 0x01, 0x0a, 0x1b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4b,
+ 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x79, 0x73, 0x63, 0x61, 0x6c,
+ 0x6c, 0x12, 0x09, 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74, 0x65, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06,
+ 0x57, 0x72, 0x69, 0x74, 0x65, 0x76, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x65, 0x6e, 0x64,
+ 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x10, 0x03, 0x12, 0x0b,
+ 0x0a, 0x07, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x53,
+ 0x65, 0x6e, 0x64, 0x4d, 0x6d, 0x73, 0x67, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x65, 0x6e,
+ 0x64, 0x46, 0x69, 0x6c, 0x65, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x65, 0x6e, 0x64, 0x46,
+ 0x69, 0x6c, 0x65, 0x36, 0x34, 0x10, 0x07, 0x2a, 0x64, 0x0a, 0x1a, 0x41, 0x63, 0x63, 0x65, 0x73,
+ 0x73, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x53, 0x79,
+ 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x65, 0x61, 0x64, 0x10, 0x00, 0x12,
+ 0x09, 0x0a, 0x05, 0x52, 0x65, 0x61, 0x64, 0x76, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x65,
+ 0x63, 0x76, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x65, 0x63, 0x76, 0x46, 0x72, 0x6f, 0x6d,
+ 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x10, 0x04, 0x12,
+ 0x0c, 0x0a, 0x08, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x6d, 0x73, 0x67, 0x10, 0x05, 0x2a, 0x38, 0x0a,
+ 0x15, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
+ 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x00, 0x12,
+ 0x0a, 0x0a, 0x06, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x31, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x48,
+ 0x54, 0x54, 0x50, 0x5f, 0x32, 0x10, 0x02, 0x32, 0x72, 0x0a, 0x14, 0x45, 0x42, 0x50, 0x46, 0x41,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
+ 0x5a, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x73, 0x6b, 0x79,
+ 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x41,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a,
+ 0x26, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e,
+ 0x45, 0x42, 0x50, 0x46, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x44, 0x6f, 0x77,
+ 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x00, 0x28, 0x01, 0x42, 0x73, 0x0a, 0x33, 0x6f,
+ 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x2e, 0x65, 0x62, 0x70, 0x66, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e,
+ 0x76, 0x33, 0x50, 0x01, 0x5a, 0x3a, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x72, 0x65, 0x70, 0x6f,
+ 0x2f, 0x67, 0x6f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x2f, 0x65,
+ 0x62, 0x70, 0x66, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ebpf_accesslog_proto_rawDescOnce sync.Once
+ file_ebpf_accesslog_proto_rawDescData = file_ebpf_accesslog_proto_rawDesc
+)
+
+func file_ebpf_accesslog_proto_rawDescGZIP() []byte {
+ file_ebpf_accesslog_proto_rawDescOnce.Do(func() {
+ file_ebpf_accesslog_proto_rawDescData = protoimpl.X.CompressGZIP(file_ebpf_accesslog_proto_rawDescData)
+ })
+ return file_ebpf_accesslog_proto_rawDescData
+}
+
+var file_ebpf_accesslog_proto_enumTypes = make([]protoimpl.EnumInfo, 9)
+var file_ebpf_accesslog_proto_msgTypes = make([]protoimpl.MessageInfo, 31)
+var file_ebpf_accesslog_proto_goTypes = []interface{}{
+ (ZTunnelAttachmentEnvironmentDetectBy)(0), // 0: skywalking.v3.ZTunnelAttachmentEnvironmentDetectBy
+ (ZTunnelAttachmentSecurityPolicy)(0), // 1: skywalking.v3.ZTunnelAttachmentSecurityPolicy
+ (AccessLogConnectionTLSMode)(0), // 2: skywalking.v3.AccessLogConnectionTLSMode
+ (AccessLogHTTPProtocolVersion)(0), // 3: skywalking.v3.AccessLogHTTPProtocolVersion
+ (AccessLogTraceInfoProvider)(0), // 4: skywalking.v3.AccessLogTraceInfoProvider
+ (AccessLogHTTPProtocolRequestMethod)(0), // 5: skywalking.v3.AccessLogHTTPProtocolRequestMethod
+ (AccessLogKernelWriteSyscall)(0), // 6: skywalking.v3.AccessLogKernelWriteSyscall
+ (AccessLogKernelReadSyscall)(0), // 7: skywalking.v3.AccessLogKernelReadSyscall
+ (AccessLogProtocolType)(0), // 8: skywalking.v3.AccessLogProtocolType
+ (*EBPFAccessLogMessage)(nil), // 9: skywalking.v3.EBPFAccessLogMessage
+ (*EBPFAccessLogNodeInfo)(nil), // 10: skywalking.v3.EBPFAccessLogNodeInfo
+ (*EBPFAccessLogPolicy)(nil), // 11: skywalking.v3.EBPFAccessLogPolicy
+ (*EBPFAccessLogNodeNetInterface)(nil), // 12: skywalking.v3.EBPFAccessLogNodeNetInterface
+ (*AccessLogConnection)(nil), // 13: skywalking.v3.AccessLogConnection
+ (*ConnectionAttachment)(nil), // 14: skywalking.v3.ConnectionAttachment
+ (*ZTunnelAttachmentEnvironment)(nil), // 15: skywalking.v3.ZTunnelAttachmentEnvironment
+ (*ConnectionAddress)(nil), // 16: skywalking.v3.ConnectionAddress
+ (*KubernetesProcessAddress)(nil), // 17: skywalking.v3.KubernetesProcessAddress
+ (*IPAddress)(nil), // 18: skywalking.v3.IPAddress
+ (*AccessLogKernelLog)(nil), // 19: skywalking.v3.AccessLogKernelLog
+ (*AccessLogProtocolLogs)(nil), // 20: skywalking.v3.AccessLogProtocolLogs
+ (*AccessLogHTTPProtocol)(nil), // 21: skywalking.v3.AccessLogHTTPProtocol
+ (*AccessLogHTTPProtocolRequest)(nil), // 22: skywalking.v3.AccessLogHTTPProtocolRequest
+ (*AccessLogHTTPProtocolResponse)(nil), // 23: skywalking.v3.AccessLogHTTPProtocolResponse
+ (*AccessLogTraceInfo)(nil), // 24: skywalking.v3.AccessLogTraceInfo
+ (*AccessLogKernelConnectOperation)(nil), // 25: skywalking.v3.AccessLogKernelConnectOperation
+ (*AccessLogKernelAcceptOperation)(nil), // 26: skywalking.v3.AccessLogKernelAcceptOperation
+ (*AccessLogKernelCloseOperation)(nil), // 27: skywalking.v3.AccessLogKernelCloseOperation
+ (*AccessLogKernelWriteOperation)(nil), // 28: skywalking.v3.AccessLogKernelWriteOperation
+ (*AccessLogKernelWriteL4Metrics)(nil), // 29: skywalking.v3.AccessLogKernelWriteL4Metrics
+ (*AccessLogLossPackageMetrics)(nil), // 30: skywalking.v3.AccessLogLossPackageMetrics
+ (*AccessLogKernelWriteL3Metrics)(nil), // 31: skywalking.v3.AccessLogKernelWriteL3Metrics
+ (*AccessLogKernelWriteL2Metrics)(nil), // 32: skywalking.v3.AccessLogKernelWriteL2Metrics
+ (*AccessLogKernelReadOperation)(nil), // 33: skywalking.v3.AccessLogKernelReadOperation
+ (*AccessLogKernelReadL2Metrics)(nil), // 34: skywalking.v3.AccessLogKernelReadL2Metrics
+ (*AccessLogKernelReadL3Metrics)(nil), // 35: skywalking.v3.AccessLogKernelReadL3Metrics
+ (*AccessLogKernelReadL4Metrics)(nil), // 36: skywalking.v3.AccessLogKernelReadL4Metrics
+ (*EBPFTimestamp)(nil), // 37: skywalking.v3.EBPFTimestamp
+ (*EBPFOffsetTimestamp)(nil), // 38: skywalking.v3.EBPFOffsetTimestamp
+ (*EBPFAccessLogDownstream)(nil), // 39: skywalking.v3.EBPFAccessLogDownstream
+ (*v3.Instant)(nil), // 40: skywalking.v3.Instant
+ (v3.DetectPoint)(0), // 41: skywalking.v3.DetectPoint
+}
+var file_ebpf_accesslog_proto_depIdxs = []int32{
+ 10, // 0: skywalking.v3.EBPFAccessLogMessage.node:type_name -> skywalking.v3.EBPFAccessLogNodeInfo
+ 13, // 1: skywalking.v3.EBPFAccessLogMessage.connection:type_name -> skywalking.v3.AccessLogConnection
+ 19, // 2: skywalking.v3.EBPFAccessLogMessage.kernelLogs:type_name -> skywalking.v3.AccessLogKernelLog
+ 20, // 3: skywalking.v3.EBPFAccessLogMessage.protocolLog:type_name -> skywalking.v3.AccessLogProtocolLogs
+ 12, // 4: skywalking.v3.EBPFAccessLogNodeInfo.netInterfaces:type_name -> skywalking.v3.EBPFAccessLogNodeNetInterface
+ 40, // 5: skywalking.v3.EBPFAccessLogNodeInfo.bootTime:type_name -> skywalking.v3.Instant
+ 11, // 6: skywalking.v3.EBPFAccessLogNodeInfo.policy:type_name -> skywalking.v3.EBPFAccessLogPolicy
+ 16, // 7: skywalking.v3.AccessLogConnection.local:type_name -> skywalking.v3.ConnectionAddress
+ 16, // 8: skywalking.v3.AccessLogConnection.remote:type_name -> skywalking.v3.ConnectionAddress
+ 41, // 9: skywalking.v3.AccessLogConnection.role:type_name -> skywalking.v3.DetectPoint
+ 2, // 10: skywalking.v3.AccessLogConnection.tlsMode:type_name -> skywalking.v3.AccessLogConnectionTLSMode
+ 8, // 11: skywalking.v3.AccessLogConnection.protocol:type_name -> skywalking.v3.AccessLogProtocolType
+ 14, // 12: skywalking.v3.AccessLogConnection.attachment:type_name -> skywalking.v3.ConnectionAttachment
+ 15, // 13: skywalking.v3.ConnectionAttachment.zTunnel:type_name -> skywalking.v3.ZTunnelAttachmentEnvironment
+ 0, // 14: skywalking.v3.ZTunnelAttachmentEnvironment.by:type_name -> skywalking.v3.ZTunnelAttachmentEnvironmentDetectBy
+ 1, // 15: skywalking.v3.ZTunnelAttachmentEnvironment.security_policy:type_name -> skywalking.v3.ZTunnelAttachmentSecurityPolicy
+ 17, // 16: skywalking.v3.ConnectionAddress.kubernetes:type_name -> skywalking.v3.KubernetesProcessAddress
+ 18, // 17: skywalking.v3.ConnectionAddress.ip:type_name -> skywalking.v3.IPAddress
+ 25, // 18: skywalking.v3.AccessLogKernelLog.connect:type_name -> skywalking.v3.AccessLogKernelConnectOperation
+ 26, // 19: skywalking.v3.AccessLogKernelLog.accept:type_name -> skywalking.v3.AccessLogKernelAcceptOperation
+ 27, // 20: skywalking.v3.AccessLogKernelLog.close:type_name -> skywalking.v3.AccessLogKernelCloseOperation
+ 33, // 21: skywalking.v3.AccessLogKernelLog.read:type_name -> skywalking.v3.AccessLogKernelReadOperation
+ 28, // 22: skywalking.v3.AccessLogKernelLog.write:type_name -> skywalking.v3.AccessLogKernelWriteOperation
+ 21, // 23: skywalking.v3.AccessLogProtocolLogs.http:type_name -> skywalking.v3.AccessLogHTTPProtocol
+ 37, // 24: skywalking.v3.AccessLogHTTPProtocol.startTime:type_name -> skywalking.v3.EBPFTimestamp
+ 37, // 25: skywalking.v3.AccessLogHTTPProtocol.endTime:type_name -> skywalking.v3.EBPFTimestamp
+ 3, // 26: skywalking.v3.AccessLogHTTPProtocol.version:type_name -> skywalking.v3.AccessLogHTTPProtocolVersion
+ 22, // 27: skywalking.v3.AccessLogHTTPProtocol.request:type_name -> skywalking.v3.AccessLogHTTPProtocolRequest
+ 23, // 28: skywalking.v3.AccessLogHTTPProtocol.response:type_name -> skywalking.v3.AccessLogHTTPProtocolResponse
+ 5, // 29: skywalking.v3.AccessLogHTTPProtocolRequest.method:type_name -> skywalking.v3.AccessLogHTTPProtocolRequestMethod
+ 24, // 30: skywalking.v3.AccessLogHTTPProtocolRequest.trace:type_name -> skywalking.v3.AccessLogTraceInfo
+ 4, // 31: skywalking.v3.AccessLogTraceInfo.provider:type_name -> skywalking.v3.AccessLogTraceInfoProvider
+ 37, // 32: skywalking.v3.AccessLogKernelConnectOperation.startTime:type_name -> skywalking.v3.EBPFTimestamp
+ 37, // 33: skywalking.v3.AccessLogKernelConnectOperation.endTime:type_name -> skywalking.v3.EBPFTimestamp
+ 37, // 34: skywalking.v3.AccessLogKernelAcceptOperation.startTime:type_name -> skywalking.v3.EBPFTimestamp
+ 37, // 35: skywalking.v3.AccessLogKernelAcceptOperation.endTime:type_name -> skywalking.v3.EBPFTimestamp
+ 37, // 36: skywalking.v3.AccessLogKernelCloseOperation.startTime:type_name -> skywalking.v3.EBPFTimestamp
+ 37, // 37: skywalking.v3.AccessLogKernelCloseOperation.endTime:type_name -> skywalking.v3.EBPFTimestamp
+ 37, // 38: skywalking.v3.AccessLogKernelWriteOperation.startTime:type_name -> skywalking.v3.EBPFTimestamp
+ 37, // 39: skywalking.v3.AccessLogKernelWriteOperation.endTime:type_name -> skywalking.v3.EBPFTimestamp
+ 6, // 40: skywalking.v3.AccessLogKernelWriteOperation.syscall:type_name -> skywalking.v3.AccessLogKernelWriteSyscall
+ 29, // 41: skywalking.v3.AccessLogKernelWriteOperation.l4Metrics:type_name -> skywalking.v3.AccessLogKernelWriteL4Metrics
+ 31, // 42: skywalking.v3.AccessLogKernelWriteOperation.l3Metrics:type_name -> skywalking.v3.AccessLogKernelWriteL3Metrics
+ 32, // 43: skywalking.v3.AccessLogKernelWriteOperation.l2Metrics:type_name -> skywalking.v3.AccessLogKernelWriteL2Metrics
+ 30, // 44: skywalking.v3.AccessLogKernelWriteL4Metrics.lossPackageMetrics:type_name -> skywalking.v3.AccessLogLossPackageMetrics
+ 37, // 45: skywalking.v3.AccessLogKernelReadOperation.startTime:type_name -> skywalking.v3.EBPFTimestamp
+ 37, // 46: skywalking.v3.AccessLogKernelReadOperation.endTime:type_name -> skywalking.v3.EBPFTimestamp
+ 7, // 47: skywalking.v3.AccessLogKernelReadOperation.syscall:type_name -> skywalking.v3.AccessLogKernelReadSyscall
+ 34, // 48: skywalking.v3.AccessLogKernelReadOperation.l2Metrics:type_name -> skywalking.v3.AccessLogKernelReadL2Metrics
+ 35, // 49: skywalking.v3.AccessLogKernelReadOperation.l3Metrics:type_name -> skywalking.v3.AccessLogKernelReadL3Metrics
+ 36, // 50: skywalking.v3.AccessLogKernelReadOperation.l4Metrics:type_name -> skywalking.v3.AccessLogKernelReadL4Metrics
+ 38, // 51: skywalking.v3.EBPFTimestamp.offset:type_name -> skywalking.v3.EBPFOffsetTimestamp
+ 9, // 52: skywalking.v3.EBPFAccessLogService.collect:input_type -> skywalking.v3.EBPFAccessLogMessage
+ 39, // 53: skywalking.v3.EBPFAccessLogService.collect:output_type -> skywalking.v3.EBPFAccessLogDownstream
+ 53, // [53:54] is the sub-list for method output_type
+ 52, // [52:53] is the sub-list for method input_type
+ 52, // [52:52] is the sub-list for extension type_name
+ 52, // [52:52] is the sub-list for extension extendee
+ 0, // [0:52] is the sub-list for field type_name
+}
+
+func init() { file_ebpf_accesslog_proto_init() }
+func file_ebpf_accesslog_proto_init() {
+ if File_ebpf_accesslog_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ebpf_accesslog_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFAccessLogMessage); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFAccessLogNodeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFAccessLogPolicy); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFAccessLogNodeNetInterface); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogConnection); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ConnectionAttachment); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ZTunnelAttachmentEnvironment); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ConnectionAddress); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*KubernetesProcessAddress); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IPAddress); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogKernelLog); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogProtocolLogs); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogHTTPProtocol); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogHTTPProtocolRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogHTTPProtocolResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogTraceInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogKernelConnectOperation); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogKernelAcceptOperation); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogKernelCloseOperation); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogKernelWriteOperation); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogKernelWriteL4Metrics); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogLossPackageMetrics); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogKernelWriteL3Metrics); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogKernelWriteL2Metrics); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogKernelReadOperation); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogKernelReadL2Metrics); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogKernelReadL3Metrics); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AccessLogKernelReadL4Metrics); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFTimestamp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFOffsetTimestamp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFAccessLogDownstream); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_ebpf_accesslog_proto_msgTypes[5].OneofWrappers = []interface{}{
+ (*ConnectionAttachment_ZTunnel)(nil),
+ }
+ file_ebpf_accesslog_proto_msgTypes[7].OneofWrappers = []interface{}{
+ (*ConnectionAddress_Kubernetes)(nil),
+ (*ConnectionAddress_Ip)(nil),
+ }
+ file_ebpf_accesslog_proto_msgTypes[10].OneofWrappers = []interface{}{
+ (*AccessLogKernelLog_Connect)(nil),
+ (*AccessLogKernelLog_Accept)(nil),
+ (*AccessLogKernelLog_Close)(nil),
+ (*AccessLogKernelLog_Read)(nil),
+ (*AccessLogKernelLog_Write)(nil),
+ }
+ file_ebpf_accesslog_proto_msgTypes[11].OneofWrappers = []interface{}{
+ (*AccessLogProtocolLogs_Http)(nil),
+ }
+ file_ebpf_accesslog_proto_msgTypes[28].OneofWrappers = []interface{}{
+ (*EBPFTimestamp_Offset)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ebpf_accesslog_proto_rawDesc,
+ NumEnums: 9,
+ NumMessages: 31,
+ NumExtensions: 0,
+ NumServices: 1,
+ },
+ GoTypes: file_ebpf_accesslog_proto_goTypes,
+ DependencyIndexes: file_ebpf_accesslog_proto_depIdxs,
+ EnumInfos: file_ebpf_accesslog_proto_enumTypes,
+ MessageInfos: file_ebpf_accesslog_proto_msgTypes,
+ }.Build()
+ File_ebpf_accesslog_proto = out.File
+ file_ebpf_accesslog_proto_rawDesc = nil
+ file_ebpf_accesslog_proto_goTypes = nil
+ file_ebpf_accesslog_proto_depIdxs = nil
+}
diff --git a/protocols/collect/ebpf/accesslog/v3/accesslog_grpc.pb.go b/protocols/collect/ebpf/accesslog/v3/accesslog_grpc.pb.go
new file mode 100644
index 0000000..33cd112
--- /dev/null
+++ b/protocols/collect/ebpf/accesslog/v3/accesslog_grpc.pb.go
@@ -0,0 +1,135 @@
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+
+package v3
+
+import (
+ context "context"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+// EBPFAccessLogServiceClient is the client API for EBPFAccessLogService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type EBPFAccessLogServiceClient interface {
+ Collect(ctx context.Context, opts ...grpc.CallOption) (EBPFAccessLogService_CollectClient, error)
+}
+
+type eBPFAccessLogServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewEBPFAccessLogServiceClient(cc grpc.ClientConnInterface) EBPFAccessLogServiceClient {
+ return &eBPFAccessLogServiceClient{cc}
+}
+
+func (c *eBPFAccessLogServiceClient) Collect(ctx context.Context, opts ...grpc.CallOption) (EBPFAccessLogService_CollectClient, error) {
+ stream, err := c.cc.NewStream(ctx, &EBPFAccessLogService_ServiceDesc.Streams[0], "/skywalking.v3.EBPFAccessLogService/collect", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &eBPFAccessLogServiceCollectClient{stream}
+ return x, nil
+}
+
+type EBPFAccessLogService_CollectClient interface {
+ Send(*EBPFAccessLogMessage) error
+ CloseAndRecv() (*EBPFAccessLogDownstream, error)
+ grpc.ClientStream
+}
+
+type eBPFAccessLogServiceCollectClient struct {
+ grpc.ClientStream
+}
+
+func (x *eBPFAccessLogServiceCollectClient) Send(m *EBPFAccessLogMessage) error {
+ return x.ClientStream.SendMsg(m)
+}
+
+func (x *eBPFAccessLogServiceCollectClient) CloseAndRecv() (*EBPFAccessLogDownstream, error) {
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ m := new(EBPFAccessLogDownstream)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// EBPFAccessLogServiceServer is the server API for EBPFAccessLogService service.
+// All implementations must embed UnimplementedEBPFAccessLogServiceServer
+// for forward compatibility
+type EBPFAccessLogServiceServer interface {
+ Collect(EBPFAccessLogService_CollectServer) error
+ mustEmbedUnimplementedEBPFAccessLogServiceServer()
+}
+
+// UnimplementedEBPFAccessLogServiceServer must be embedded to have forward compatible implementations.
+type UnimplementedEBPFAccessLogServiceServer struct {
+}
+
+func (UnimplementedEBPFAccessLogServiceServer) Collect(EBPFAccessLogService_CollectServer) error {
+ return status.Errorf(codes.Unimplemented, "method Collect not implemented")
+}
+func (UnimplementedEBPFAccessLogServiceServer) mustEmbedUnimplementedEBPFAccessLogServiceServer() {}
+
+// UnsafeEBPFAccessLogServiceServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to EBPFAccessLogServiceServer will
+// result in compilation errors.
+type UnsafeEBPFAccessLogServiceServer interface {
+ mustEmbedUnimplementedEBPFAccessLogServiceServer()
+}
+
+func RegisterEBPFAccessLogServiceServer(s grpc.ServiceRegistrar, srv EBPFAccessLogServiceServer) {
+ s.RegisterService(&EBPFAccessLogService_ServiceDesc, srv)
+}
+
+func _EBPFAccessLogService_Collect_Handler(srv interface{}, stream grpc.ServerStream) error {
+ return srv.(EBPFAccessLogServiceServer).Collect(&eBPFAccessLogServiceCollectServer{stream})
+}
+
+type EBPFAccessLogService_CollectServer interface {
+ SendAndClose(*EBPFAccessLogDownstream) error
+ Recv() (*EBPFAccessLogMessage, error)
+ grpc.ServerStream
+}
+
+type eBPFAccessLogServiceCollectServer struct {
+ grpc.ServerStream
+}
+
+func (x *eBPFAccessLogServiceCollectServer) SendAndClose(m *EBPFAccessLogDownstream) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func (x *eBPFAccessLogServiceCollectServer) Recv() (*EBPFAccessLogMessage, error) {
+ m := new(EBPFAccessLogMessage)
+ if err := x.ServerStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// EBPFAccessLogService_ServiceDesc is the grpc.ServiceDesc for EBPFAccessLogService service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var EBPFAccessLogService_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "skywalking.v3.EBPFAccessLogService",
+ HandlerType: (*EBPFAccessLogServiceServer)(nil),
+ Methods: []grpc.MethodDesc{},
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "collect",
+ Handler: _EBPFAccessLogService_Collect_Handler,
+ ClientStreams: true,
+ },
+ },
+ Metadata: "ebpf/accesslog.proto",
+}
diff --git a/protocols/collect/ebpf/profiling/process/v3/Process.pb.go b/protocols/collect/ebpf/profiling/process/v3/Process.pb.go
new file mode 100644
index 0000000..e31ddc3
--- /dev/null
+++ b/protocols/collect/ebpf/profiling/process/v3/Process.pb.go
@@ -0,0 +1,1125 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ebpf/profiling/Process.proto
+
+package v3
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ v3 "github.com/apache/skywalking-go/protocols/collect/common/v3"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EBPFProcessReportList struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Processes []*EBPFProcessProperties `protobuf:"bytes,1,rep,name=processes,proto3" json:"processes,omitempty"`
+ // An ID generated by eBPF agent, should be unique globally.
+ EbpfAgentID string `protobuf:"bytes,2,opt,name=ebpfAgentID,proto3" json:"ebpfAgentID,omitempty"`
+}
+
+func (x *EBPFProcessReportList) Reset() {
+ *x = EBPFProcessReportList{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFProcessReportList) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFProcessReportList) ProtoMessage() {}
+
+func (x *EBPFProcessReportList) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFProcessReportList.ProtoReflect.Descriptor instead.
+func (*EBPFProcessReportList) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Process_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EBPFProcessReportList) GetProcesses() []*EBPFProcessProperties {
+ if x != nil {
+ return x.Processes
+ }
+ return nil
+}
+
+func (x *EBPFProcessReportList) GetEbpfAgentID() string {
+ if x != nil {
+ return x.EbpfAgentID
+ }
+ return ""
+}
+
+type EBPFProcessProperties struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The Process metadata
+ //
+ // Types that are assignable to Metadata:
+ //
+ // *EBPFProcessProperties_HostProcess
+ // *EBPFProcessProperties_K8SProcess
+ Metadata isEBPFProcessProperties_Metadata `protobuf_oneof:"metadata"`
+}
+
+func (x *EBPFProcessProperties) Reset() {
+ *x = EBPFProcessProperties{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFProcessProperties) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFProcessProperties) ProtoMessage() {}
+
+func (x *EBPFProcessProperties) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFProcessProperties.ProtoReflect.Descriptor instead.
+func (*EBPFProcessProperties) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Process_proto_rawDescGZIP(), []int{1}
+}
+
+func (m *EBPFProcessProperties) GetMetadata() isEBPFProcessProperties_Metadata {
+ if m != nil {
+ return m.Metadata
+ }
+ return nil
+}
+
+func (x *EBPFProcessProperties) GetHostProcess() *EBPFHostProcessMetadata {
+ if x, ok := x.GetMetadata().(*EBPFProcessProperties_HostProcess); ok {
+ return x.HostProcess
+ }
+ return nil
+}
+
+func (x *EBPFProcessProperties) GetK8SProcess() *EBPFKubernetesProcessMetadata {
+ if x, ok := x.GetMetadata().(*EBPFProcessProperties_K8SProcess); ok {
+ return x.K8SProcess
+ }
+ return nil
+}
+
+type isEBPFProcessProperties_Metadata interface {
+ isEBPFProcessProperties_Metadata()
+}
+
+type EBPFProcessProperties_HostProcess struct {
+ HostProcess *EBPFHostProcessMetadata `protobuf:"bytes,1,opt,name=hostProcess,proto3,oneof"`
+}
+
+type EBPFProcessProperties_K8SProcess struct {
+ K8SProcess *EBPFKubernetesProcessMetadata `protobuf:"bytes,2,opt,name=k8sProcess,proto3,oneof"`
+}
+
+func (*EBPFProcessProperties_HostProcess) isEBPFProcessProperties_Metadata() {}
+
+func (*EBPFProcessProperties_K8SProcess) isEBPFProcessProperties_Metadata() {}
+
+type EBPFHostProcessMetadata struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // [required] Entity metadata
+ // Must ensure that entity information is unique at the time of reporting
+ Entity *EBPFProcessEntityMetadata `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
+ // [required] The Process id of the host
+ Pid int32 `protobuf:"varint,2,opt,name=pid,proto3" json:"pid,omitempty"`
+ // [optional] properties of the process
+ Properties []*v3.KeyStringValuePair `protobuf:"bytes,3,rep,name=properties,proto3" json:"properties,omitempty"`
+}
+
+func (x *EBPFHostProcessMetadata) Reset() {
+ *x = EBPFHostProcessMetadata{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFHostProcessMetadata) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFHostProcessMetadata) ProtoMessage() {}
+
+func (x *EBPFHostProcessMetadata) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFHostProcessMetadata.ProtoReflect.Descriptor instead.
+func (*EBPFHostProcessMetadata) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Process_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *EBPFHostProcessMetadata) GetEntity() *EBPFProcessEntityMetadata {
+ if x != nil {
+ return x.Entity
+ }
+ return nil
+}
+
+func (x *EBPFHostProcessMetadata) GetPid() int32 {
+ if x != nil {
+ return x.Pid
+ }
+ return 0
+}
+
+func (x *EBPFHostProcessMetadata) GetProperties() []*v3.KeyStringValuePair {
+ if x != nil {
+ return x.Properties
+ }
+ return nil
+}
+
+// Process Entity metadata
+type EBPFProcessEntityMetadata struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // [required] Process belong layer name which define in the backend
+ Layer string `protobuf:"bytes,1,opt,name=layer,proto3" json:"layer,omitempty"`
+ // [required] Process belong service name
+ ServiceName string `protobuf:"bytes,2,opt,name=serviceName,proto3" json:"serviceName,omitempty"`
+ // [required] Process belong service instance name
+ InstanceName string `protobuf:"bytes,3,opt,name=instanceName,proto3" json:"instanceName,omitempty"`
+ // [required] Process name
+ ProcessName string `protobuf:"bytes,4,opt,name=processName,proto3" json:"processName,omitempty"`
+ // Process labels for aggregate from service
+ Labels []string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty"`
+}
+
+func (x *EBPFProcessEntityMetadata) Reset() {
+ *x = EBPFProcessEntityMetadata{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFProcessEntityMetadata) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFProcessEntityMetadata) ProtoMessage() {}
+
+func (x *EBPFProcessEntityMetadata) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFProcessEntityMetadata.ProtoReflect.Descriptor instead.
+func (*EBPFProcessEntityMetadata) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Process_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *EBPFProcessEntityMetadata) GetLayer() string {
+ if x != nil {
+ return x.Layer
+ }
+ return ""
+}
+
+func (x *EBPFProcessEntityMetadata) GetServiceName() string {
+ if x != nil {
+ return x.ServiceName
+ }
+ return ""
+}
+
+func (x *EBPFProcessEntityMetadata) GetInstanceName() string {
+ if x != nil {
+ return x.InstanceName
+ }
+ return ""
+}
+
+func (x *EBPFProcessEntityMetadata) GetProcessName() string {
+ if x != nil {
+ return x.ProcessName
+ }
+ return ""
+}
+
+func (x *EBPFProcessEntityMetadata) GetLabels() []string {
+ if x != nil {
+ return x.Labels
+ }
+ return nil
+}
+
+// Kubernetes process metadata
+type EBPFKubernetesProcessMetadata struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // [required] Entity metadata
+ // Must ensure that entity information is unique at the time of reporting
+ Entity *EBPFProcessEntityMetadata `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
+ // [required] The Process id of the host
+ Pid int32 `protobuf:"varint,2,opt,name=pid,proto3" json:"pid,omitempty"`
+ // [optional] properties of the process
+ Properties []*v3.KeyStringValuePair `protobuf:"bytes,3,rep,name=properties,proto3" json:"properties,omitempty"`
+}
+
+func (x *EBPFKubernetesProcessMetadata) Reset() {
+ *x = EBPFKubernetesProcessMetadata{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFKubernetesProcessMetadata) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFKubernetesProcessMetadata) ProtoMessage() {}
+
+func (x *EBPFKubernetesProcessMetadata) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFKubernetesProcessMetadata.ProtoReflect.Descriptor instead.
+func (*EBPFKubernetesProcessMetadata) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Process_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *EBPFKubernetesProcessMetadata) GetEntity() *EBPFProcessEntityMetadata {
+ if x != nil {
+ return x.Entity
+ }
+ return nil
+}
+
+func (x *EBPFKubernetesProcessMetadata) GetPid() int32 {
+ if x != nil {
+ return x.Pid
+ }
+ return 0
+}
+
+func (x *EBPFKubernetesProcessMetadata) GetProperties() []*v3.KeyStringValuePair {
+ if x != nil {
+ return x.Properties
+ }
+ return nil
+}
+
+type EBPFReportProcessDownstream struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Processes []*EBPFProcessDownstream `protobuf:"bytes,1,rep,name=processes,proto3" json:"processes,omitempty"`
+}
+
+func (x *EBPFReportProcessDownstream) Reset() {
+ *x = EBPFReportProcessDownstream{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFReportProcessDownstream) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFReportProcessDownstream) ProtoMessage() {}
+
+func (x *EBPFReportProcessDownstream) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFReportProcessDownstream.ProtoReflect.Descriptor instead.
+func (*EBPFReportProcessDownstream) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Process_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *EBPFReportProcessDownstream) GetProcesses() []*EBPFProcessDownstream {
+ if x != nil {
+ return x.Processes
+ }
+ return nil
+}
+
+type EBPFProcessDownstream struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Generated process id
+ ProcessId string `protobuf:"bytes,1,opt,name=processId,proto3" json:"processId,omitempty"`
+ // Locate the process by basic information
+ //
+ // Types that are assignable to Process:
+ //
+ // *EBPFProcessDownstream_HostProcess
+ // *EBPFProcessDownstream_K8SProcess
+ Process isEBPFProcessDownstream_Process `protobuf_oneof:"process"`
+}
+
+func (x *EBPFProcessDownstream) Reset() {
+ *x = EBPFProcessDownstream{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFProcessDownstream) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFProcessDownstream) ProtoMessage() {}
+
+func (x *EBPFProcessDownstream) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFProcessDownstream.ProtoReflect.Descriptor instead.
+func (*EBPFProcessDownstream) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Process_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *EBPFProcessDownstream) GetProcessId() string {
+ if x != nil {
+ return x.ProcessId
+ }
+ return ""
+}
+
+func (m *EBPFProcessDownstream) GetProcess() isEBPFProcessDownstream_Process {
+ if m != nil {
+ return m.Process
+ }
+ return nil
+}
+
+func (x *EBPFProcessDownstream) GetHostProcess() *EBPFHostProcessDownstream {
+ if x, ok := x.GetProcess().(*EBPFProcessDownstream_HostProcess); ok {
+ return x.HostProcess
+ }
+ return nil
+}
+
+func (x *EBPFProcessDownstream) GetK8SProcess() *EBPFKubernetesProcessDownstream {
+ if x, ok := x.GetProcess().(*EBPFProcessDownstream_K8SProcess); ok {
+ return x.K8SProcess
+ }
+ return nil
+}
+
+type isEBPFProcessDownstream_Process interface {
+ isEBPFProcessDownstream_Process()
+}
+
+type EBPFProcessDownstream_HostProcess struct {
+ HostProcess *EBPFHostProcessDownstream `protobuf:"bytes,2,opt,name=hostProcess,proto3,oneof"`
+}
+
+type EBPFProcessDownstream_K8SProcess struct {
+ K8SProcess *EBPFKubernetesProcessDownstream `protobuf:"bytes,3,opt,name=k8sProcess,proto3,oneof"`
+}
+
+func (*EBPFProcessDownstream_HostProcess) isEBPFProcessDownstream_Process() {}
+
+func (*EBPFProcessDownstream_K8SProcess) isEBPFProcessDownstream_Process() {}
+
+type EBPFHostProcessDownstream struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pid int32 `protobuf:"varint,1,opt,name=pid,proto3" json:"pid,omitempty"`
+ EntityMetadata *EBPFProcessEntityMetadata `protobuf:"bytes,2,opt,name=entityMetadata,proto3" json:"entityMetadata,omitempty"`
+}
+
+func (x *EBPFHostProcessDownstream) Reset() {
+ *x = EBPFHostProcessDownstream{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFHostProcessDownstream) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFHostProcessDownstream) ProtoMessage() {}
+
+func (x *EBPFHostProcessDownstream) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[7]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFHostProcessDownstream.ProtoReflect.Descriptor instead.
+func (*EBPFHostProcessDownstream) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Process_proto_rawDescGZIP(), []int{7}
+}
+
+func (x *EBPFHostProcessDownstream) GetPid() int32 {
+ if x != nil {
+ return x.Pid
+ }
+ return 0
+}
+
+func (x *EBPFHostProcessDownstream) GetEntityMetadata() *EBPFProcessEntityMetadata {
+ if x != nil {
+ return x.EntityMetadata
+ }
+ return nil
+}
+
+// Kubernetes process downstream
+type EBPFKubernetesProcessDownstream struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pid int32 `protobuf:"varint,1,opt,name=pid,proto3" json:"pid,omitempty"`
+ EntityMetadata *EBPFProcessEntityMetadata `protobuf:"bytes,2,opt,name=entityMetadata,proto3" json:"entityMetadata,omitempty"`
+}
+
+func (x *EBPFKubernetesProcessDownstream) Reset() {
+ *x = EBPFKubernetesProcessDownstream{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFKubernetesProcessDownstream) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFKubernetesProcessDownstream) ProtoMessage() {}
+
+func (x *EBPFKubernetesProcessDownstream) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[8]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFKubernetesProcessDownstream.ProtoReflect.Descriptor instead.
+func (*EBPFKubernetesProcessDownstream) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Process_proto_rawDescGZIP(), []int{8}
+}
+
+func (x *EBPFKubernetesProcessDownstream) GetPid() int32 {
+ if x != nil {
+ return x.Pid
+ }
+ return 0
+}
+
+func (x *EBPFKubernetesProcessDownstream) GetEntityMetadata() *EBPFProcessEntityMetadata {
+ if x != nil {
+ return x.EntityMetadata
+ }
+ return nil
+}
+
+type EBPFProcessPingPkgList struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Processes []*EBPFProcessPingPkg `protobuf:"bytes,1,rep,name=processes,proto3" json:"processes,omitempty"`
+ // An ID generated by eBPF agent, should be unique globally.
+ EbpfAgentID string `protobuf:"bytes,2,opt,name=ebpfAgentID,proto3" json:"ebpfAgentID,omitempty"`
+}
+
+func (x *EBPFProcessPingPkgList) Reset() {
+ *x = EBPFProcessPingPkgList{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFProcessPingPkgList) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFProcessPingPkgList) ProtoMessage() {}
+
+func (x *EBPFProcessPingPkgList) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[9]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFProcessPingPkgList.ProtoReflect.Descriptor instead.
+func (*EBPFProcessPingPkgList) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Process_proto_rawDescGZIP(), []int{9}
+}
+
+func (x *EBPFProcessPingPkgList) GetProcesses() []*EBPFProcessPingPkg {
+ if x != nil {
+ return x.Processes
+ }
+ return nil
+}
+
+func (x *EBPFProcessPingPkgList) GetEbpfAgentID() string {
+ if x != nil {
+ return x.EbpfAgentID
+ }
+ return ""
+}
+
+type EBPFProcessPingPkg struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Process entity
+ EntityMetadata *EBPFProcessEntityMetadata `protobuf:"bytes,1,opt,name=entityMetadata,proto3" json:"entityMetadata,omitempty"`
+ // Minimize necessary properties
+ Properties []*v3.KeyStringValuePair `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty"`
+}
+
+func (x *EBPFProcessPingPkg) Reset() {
+ *x = EBPFProcessPingPkg{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[10]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFProcessPingPkg) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFProcessPingPkg) ProtoMessage() {}
+
+func (x *EBPFProcessPingPkg) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Process_proto_msgTypes[10]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFProcessPingPkg.ProtoReflect.Descriptor instead.
+func (*EBPFProcessPingPkg) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Process_proto_rawDescGZIP(), []int{10}
+}
+
+func (x *EBPFProcessPingPkg) GetEntityMetadata() *EBPFProcessEntityMetadata {
+ if x != nil {
+ return x.EntityMetadata
+ }
+ return nil
+}
+
+func (x *EBPFProcessPingPkg) GetProperties() []*v3.KeyStringValuePair {
+ if x != nil {
+ return x.Properties
+ }
+ return nil
+}
+
+var File_ebpf_profiling_Process_proto protoreflect.FileDescriptor
+
+var file_ebpf_profiling_Process_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x65, 0x62, 0x70, 0x66, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67,
+ 0x2f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d,
+ 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x13, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x43, 0x6f, 0x6d, 0x6d, 0x61,
+ 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x15, 0x45, 0x42, 0x50, 0x46,
+ 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x42, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
+ 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63,
+ 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x62, 0x70, 0x66, 0x41, 0x67, 0x65,
+ 0x6e, 0x74, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x62, 0x70, 0x66,
+ 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x22, 0xbf, 0x01, 0x0a, 0x15, 0x45, 0x42, 0x50, 0x46,
+ 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
+ 0x73, 0x12, 0x4a, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x48, 0x6f, 0x73, 0x74, 0x50,
+ 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00,
+ 0x52, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a,
+ 0x0a, 0x6b, 0x38, 0x73, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73,
+ 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48,
+ 0x00, 0x52, 0x0a, 0x6b, 0x38, 0x73, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x42, 0x0a, 0x0a,
+ 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb0, 0x01, 0x0a, 0x17, 0x45, 0x42,
+ 0x50, 0x46, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74,
+ 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73,
+ 0x73, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52,
+ 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
+ 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e,
+ 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4b, 0x65,
+ 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72,
+ 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xb1, 0x01, 0x0a,
+ 0x19, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61,
+ 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61,
+ 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
+ 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
+ 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f,
+ 0x63, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65,
+ 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73,
+ 0x22, 0xb6, 0x01, 0x0a, 0x1d, 0x45, 0x42, 0x50, 0x46, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65,
+ 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
+ 0x74, 0x61, 0x12, 0x40, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x06, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72,
+ 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x6b, 0x79,
+ 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4b, 0x65, 0x79, 0x53, 0x74,
+ 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0a, 0x70,
+ 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0x61, 0x0a, 0x1b, 0x45, 0x42, 0x50,
+ 0x46, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x6f,
+ 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x42, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63,
+ 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x6b,
+ 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46,
+ 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0xe0, 0x01, 0x0a,
+ 0x15, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x6f, 0x77, 0x6e,
+ 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
+ 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65,
+ 0x73, 0x73, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63,
+ 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x6b, 0x79, 0x77,
+ 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x48, 0x6f,
+ 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72,
+ 0x65, 0x61, 0x6d, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65,
+ 0x73, 0x73, 0x12, 0x50, 0x0a, 0x0a, 0x6b, 0x38, 0x73, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x4b, 0x75, 0x62, 0x65, 0x72,
+ 0x6e, 0x65, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x6f, 0x77, 0x6e,
+ 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x00, 0x52, 0x0a, 0x6b, 0x38, 0x73, 0x50, 0x72, 0x6f,
+ 0x63, 0x65, 0x73, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x22,
+ 0x7f, 0x0a, 0x19, 0x45, 0x42, 0x50, 0x46, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65,
+ 0x73, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x10, 0x0a, 0x03,
+ 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x50,
+ 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x63, 0x65,
+ 0x73, 0x73, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
+ 0x52, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
+ 0x22, 0x85, 0x01, 0x0a, 0x1f, 0x45, 0x42, 0x50, 0x46, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65,
+ 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74,
+ 0x72, 0x65, 0x61, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x50, 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28,
+ 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45,
+ 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x7b, 0x0a, 0x16, 0x45, 0x42, 0x50, 0x46,
+ 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x50, 0x69, 0x6e, 0x67, 0x50, 0x6b, 0x67, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73,
+ 0x73, 0x50, 0x69, 0x6e, 0x67, 0x50, 0x6b, 0x67, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
+ 0x73, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x62, 0x70, 0x66, 0x41, 0x67, 0x65, 0x6e, 0x74,
+ 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x62, 0x70, 0x66, 0x41, 0x67,
+ 0x65, 0x6e, 0x74, 0x49, 0x44, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72,
+ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x50, 0x69, 0x6e, 0x67, 0x50, 0x6b, 0x67, 0x12, 0x50, 0x0a, 0x0e,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
+ 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0e,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x41,
+ 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x33, 0x2e, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
+ 0x73, 0x32, 0xca, 0x01, 0x0a, 0x12, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73,
+ 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x65, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f,
+ 0x72, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x73, 0x6b,
+ 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46,
+ 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73,
+ 0x74, 0x1a, 0x2a, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x63,
+ 0x65, 0x73, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x00, 0x12,
+ 0x4d, 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x25, 0x2e, 0x73,
+ 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50,
+ 0x46, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x50, 0x69, 0x6e, 0x67, 0x50, 0x6b, 0x67, 0x4c,
+ 0x69, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0x00, 0x42, 0x83,
+ 0x01, 0x0a, 0x3b, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x6b,
+ 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x62, 0x70, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c,
+ 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x33, 0x50, 0x01,
+ 0x5a, 0x42, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x70, 0x61,
+ 0x63, 0x68, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x2f, 0x67, 0x6f, 0x61,
+ 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x2f, 0x65, 0x62, 0x70, 0x66, 0x2f,
+ 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
+ 0x73, 0x2f, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ebpf_profiling_Process_proto_rawDescOnce sync.Once
+ file_ebpf_profiling_Process_proto_rawDescData = file_ebpf_profiling_Process_proto_rawDesc
+)
+
+func file_ebpf_profiling_Process_proto_rawDescGZIP() []byte {
+ file_ebpf_profiling_Process_proto_rawDescOnce.Do(func() {
+ file_ebpf_profiling_Process_proto_rawDescData = protoimpl.X.CompressGZIP(file_ebpf_profiling_Process_proto_rawDescData)
+ })
+ return file_ebpf_profiling_Process_proto_rawDescData
+}
+
+var file_ebpf_profiling_Process_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
+var file_ebpf_profiling_Process_proto_goTypes = []interface{}{
+ (*EBPFProcessReportList)(nil), // 0: skywalking.v3.EBPFProcessReportList
+ (*EBPFProcessProperties)(nil), // 1: skywalking.v3.EBPFProcessProperties
+ (*EBPFHostProcessMetadata)(nil), // 2: skywalking.v3.EBPFHostProcessMetadata
+ (*EBPFProcessEntityMetadata)(nil), // 3: skywalking.v3.EBPFProcessEntityMetadata
+ (*EBPFKubernetesProcessMetadata)(nil), // 4: skywalking.v3.EBPFKubernetesProcessMetadata
+ (*EBPFReportProcessDownstream)(nil), // 5: skywalking.v3.EBPFReportProcessDownstream
+ (*EBPFProcessDownstream)(nil), // 6: skywalking.v3.EBPFProcessDownstream
+ (*EBPFHostProcessDownstream)(nil), // 7: skywalking.v3.EBPFHostProcessDownstream
+ (*EBPFKubernetesProcessDownstream)(nil), // 8: skywalking.v3.EBPFKubernetesProcessDownstream
+ (*EBPFProcessPingPkgList)(nil), // 9: skywalking.v3.EBPFProcessPingPkgList
+ (*EBPFProcessPingPkg)(nil), // 10: skywalking.v3.EBPFProcessPingPkg
+ (*v3.KeyStringValuePair)(nil), // 11: skywalking.v3.KeyStringValuePair
+ (*v3.Commands)(nil), // 12: skywalking.v3.Commands
+}
+var file_ebpf_profiling_Process_proto_depIdxs = []int32{
+ 1, // 0: skywalking.v3.EBPFProcessReportList.processes:type_name -> skywalking.v3.EBPFProcessProperties
+ 2, // 1: skywalking.v3.EBPFProcessProperties.hostProcess:type_name -> skywalking.v3.EBPFHostProcessMetadata
+ 4, // 2: skywalking.v3.EBPFProcessProperties.k8sProcess:type_name -> skywalking.v3.EBPFKubernetesProcessMetadata
+ 3, // 3: skywalking.v3.EBPFHostProcessMetadata.entity:type_name -> skywalking.v3.EBPFProcessEntityMetadata
+ 11, // 4: skywalking.v3.EBPFHostProcessMetadata.properties:type_name -> skywalking.v3.KeyStringValuePair
+ 3, // 5: skywalking.v3.EBPFKubernetesProcessMetadata.entity:type_name -> skywalking.v3.EBPFProcessEntityMetadata
+ 11, // 6: skywalking.v3.EBPFKubernetesProcessMetadata.properties:type_name -> skywalking.v3.KeyStringValuePair
+ 6, // 7: skywalking.v3.EBPFReportProcessDownstream.processes:type_name -> skywalking.v3.EBPFProcessDownstream
+ 7, // 8: skywalking.v3.EBPFProcessDownstream.hostProcess:type_name -> skywalking.v3.EBPFHostProcessDownstream
+ 8, // 9: skywalking.v3.EBPFProcessDownstream.k8sProcess:type_name -> skywalking.v3.EBPFKubernetesProcessDownstream
+ 3, // 10: skywalking.v3.EBPFHostProcessDownstream.entityMetadata:type_name -> skywalking.v3.EBPFProcessEntityMetadata
+ 3, // 11: skywalking.v3.EBPFKubernetesProcessDownstream.entityMetadata:type_name -> skywalking.v3.EBPFProcessEntityMetadata
+ 10, // 12: skywalking.v3.EBPFProcessPingPkgList.processes:type_name -> skywalking.v3.EBPFProcessPingPkg
+ 3, // 13: skywalking.v3.EBPFProcessPingPkg.entityMetadata:type_name -> skywalking.v3.EBPFProcessEntityMetadata
+ 11, // 14: skywalking.v3.EBPFProcessPingPkg.properties:type_name -> skywalking.v3.KeyStringValuePair
+ 0, // 15: skywalking.v3.EBPFProcessService.reportProcesses:input_type -> skywalking.v3.EBPFProcessReportList
+ 9, // 16: skywalking.v3.EBPFProcessService.keepAlive:input_type -> skywalking.v3.EBPFProcessPingPkgList
+ 5, // 17: skywalking.v3.EBPFProcessService.reportProcesses:output_type -> skywalking.v3.EBPFReportProcessDownstream
+ 12, // 18: skywalking.v3.EBPFProcessService.keepAlive:output_type -> skywalking.v3.Commands
+ 17, // [17:19] is the sub-list for method output_type
+ 15, // [15:17] is the sub-list for method input_type
+ 15, // [15:15] is the sub-list for extension type_name
+ 15, // [15:15] is the sub-list for extension extendee
+ 0, // [0:15] is the sub-list for field type_name
+}
+
+func init() { file_ebpf_profiling_Process_proto_init() }
+func file_ebpf_profiling_Process_proto_init() {
+ if File_ebpf_profiling_Process_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ebpf_profiling_Process_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFProcessReportList); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Process_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFProcessProperties); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Process_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFHostProcessMetadata); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Process_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFProcessEntityMetadata); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Process_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFKubernetesProcessMetadata); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Process_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFReportProcessDownstream); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Process_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFProcessDownstream); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Process_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFHostProcessDownstream); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Process_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFKubernetesProcessDownstream); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Process_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFProcessPingPkgList); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Process_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFProcessPingPkg); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_ebpf_profiling_Process_proto_msgTypes[1].OneofWrappers = []interface{}{
+ (*EBPFProcessProperties_HostProcess)(nil),
+ (*EBPFProcessProperties_K8SProcess)(nil),
+ }
+ file_ebpf_profiling_Process_proto_msgTypes[6].OneofWrappers = []interface{}{
+ (*EBPFProcessDownstream_HostProcess)(nil),
+ (*EBPFProcessDownstream_K8SProcess)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ebpf_profiling_Process_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 11,
+ NumExtensions: 0,
+ NumServices: 1,
+ },
+ GoTypes: file_ebpf_profiling_Process_proto_goTypes,
+ DependencyIndexes: file_ebpf_profiling_Process_proto_depIdxs,
+ MessageInfos: file_ebpf_profiling_Process_proto_msgTypes,
+ }.Build()
+ File_ebpf_profiling_Process_proto = out.File
+ file_ebpf_profiling_Process_proto_rawDesc = nil
+ file_ebpf_profiling_Process_proto_goTypes = nil
+ file_ebpf_profiling_Process_proto_depIdxs = nil
+}
diff --git a/protocols/collect/ebpf/profiling/process/v3/Process_grpc.pb.go b/protocols/collect/ebpf/profiling/process/v3/Process_grpc.pb.go
new file mode 100644
index 0000000..6f14654
--- /dev/null
+++ b/protocols/collect/ebpf/profiling/process/v3/Process_grpc.pb.go
@@ -0,0 +1,142 @@
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+
+package v3
+
+import (
+ context "context"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+ v3 "github.com/apache/skywalking-go/protocols/collect/common/v3"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+// EBPFProcessServiceClient is the client API for EBPFProcessService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type EBPFProcessServiceClient interface {
+ // Report discovered process in Rover
+ ReportProcesses(ctx context.Context, in *EBPFProcessReportList, opts ...grpc.CallOption) (*EBPFReportProcessDownstream, error)
+ // Keep the process alive in the backend.
+ KeepAlive(ctx context.Context, in *EBPFProcessPingPkgList, opts ...grpc.CallOption) (*v3.Commands, error)
+}
+
+type eBPFProcessServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewEBPFProcessServiceClient(cc grpc.ClientConnInterface) EBPFProcessServiceClient {
+ return &eBPFProcessServiceClient{cc}
+}
+
+func (c *eBPFProcessServiceClient) ReportProcesses(ctx context.Context, in *EBPFProcessReportList, opts ...grpc.CallOption) (*EBPFReportProcessDownstream, error) {
+ out := new(EBPFReportProcessDownstream)
+ err := c.cc.Invoke(ctx, "/skywalking.v3.EBPFProcessService/reportProcesses", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *eBPFProcessServiceClient) KeepAlive(ctx context.Context, in *EBPFProcessPingPkgList, opts ...grpc.CallOption) (*v3.Commands, error) {
+ out := new(v3.Commands)
+ err := c.cc.Invoke(ctx, "/skywalking.v3.EBPFProcessService/keepAlive", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// EBPFProcessServiceServer is the server API for EBPFProcessService service.
+// All implementations must embed UnimplementedEBPFProcessServiceServer
+// for forward compatibility
+type EBPFProcessServiceServer interface {
+ // Report discovered process in Rover
+ ReportProcesses(context.Context, *EBPFProcessReportList) (*EBPFReportProcessDownstream, error)
+ // Keep the process alive in the backend.
+ KeepAlive(context.Context, *EBPFProcessPingPkgList) (*v3.Commands, error)
+ mustEmbedUnimplementedEBPFProcessServiceServer()
+}
+
+// UnimplementedEBPFProcessServiceServer must be embedded to have forward compatible implementations.
+type UnimplementedEBPFProcessServiceServer struct {
+}
+
+func (UnimplementedEBPFProcessServiceServer) ReportProcesses(context.Context, *EBPFProcessReportList) (*EBPFReportProcessDownstream, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ReportProcesses not implemented")
+}
+func (UnimplementedEBPFProcessServiceServer) KeepAlive(context.Context, *EBPFProcessPingPkgList) (*v3.Commands, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method KeepAlive not implemented")
+}
+func (UnimplementedEBPFProcessServiceServer) mustEmbedUnimplementedEBPFProcessServiceServer() {}
+
+// UnsafeEBPFProcessServiceServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to EBPFProcessServiceServer will
+// result in compilation errors.
+type UnsafeEBPFProcessServiceServer interface {
+ mustEmbedUnimplementedEBPFProcessServiceServer()
+}
+
+func RegisterEBPFProcessServiceServer(s grpc.ServiceRegistrar, srv EBPFProcessServiceServer) {
+ s.RegisterService(&EBPFProcessService_ServiceDesc, srv)
+}
+
+func _EBPFProcessService_ReportProcesses_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(EBPFProcessReportList)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(EBPFProcessServiceServer).ReportProcesses(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/skywalking.v3.EBPFProcessService/reportProcesses",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(EBPFProcessServiceServer).ReportProcesses(ctx, req.(*EBPFProcessReportList))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _EBPFProcessService_KeepAlive_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(EBPFProcessPingPkgList)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(EBPFProcessServiceServer).KeepAlive(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/skywalking.v3.EBPFProcessService/keepAlive",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(EBPFProcessServiceServer).KeepAlive(ctx, req.(*EBPFProcessPingPkgList))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+// EBPFProcessService_ServiceDesc is the grpc.ServiceDesc for EBPFProcessService service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var EBPFProcessService_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "skywalking.v3.EBPFProcessService",
+ HandlerType: (*EBPFProcessServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "reportProcesses",
+ Handler: _EBPFProcessService_ReportProcesses_Handler,
+ },
+ {
+ MethodName: "keepAlive",
+ Handler: _EBPFProcessService_KeepAlive_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "ebpf/profiling/Process.proto",
+}
diff --git a/protocols/collect/ebpf/profiling/v3/Continuous.pb.go b/protocols/collect/ebpf/profiling/v3/Continuous.pb.go
new file mode 100644
index 0000000..0a38f3a
--- /dev/null
+++ b/protocols/collect/ebpf/profiling/v3/Continuous.pb.go
@@ -0,0 +1,1044 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ebpf/profiling/Continuous.proto
+
+package v3
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ v3 "github.com/apache/skywalking-go/protocols/collect/common/v3"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ContinuousProfilingTriggeredMonitorType int32
+
+const (
+ // Current process CPU usage percent(0-100).
+ ContinuousProfilingTriggeredMonitorType_ProcessCPU ContinuousProfilingTriggeredMonitorType = 0
+ // The number of threads in the process.
+ ContinuousProfilingTriggeredMonitorType_ProcessThreadCount ContinuousProfilingTriggeredMonitorType = 1
+ // System load value.
+ ContinuousProfilingTriggeredMonitorType_SystemLoad ContinuousProfilingTriggeredMonitorType = 2
+ // Process response error rate(0-100).
+ // HTTP response codes in [500-600) are considered errors.
+ // Formula: ErrorCount / TotalCount * 100
+ ContinuousProfilingTriggeredMonitorType_HTTPErrorRate ContinuousProfilingTriggeredMonitorType = 3
+ // Process response average time(ms).
+ // Formula: TotalResponseTime(ms) / TotalCount
+ ContinuousProfilingTriggeredMonitorType_HTTPAvgResponseTime ContinuousProfilingTriggeredMonitorType = 4
+)
+
+// Enum value maps for ContinuousProfilingTriggeredMonitorType.
+var (
+ ContinuousProfilingTriggeredMonitorType_name = map[int32]string{
+ 0: "ProcessCPU",
+ 1: "ProcessThreadCount",
+ 2: "SystemLoad",
+ 3: "HTTPErrorRate",
+ 4: "HTTPAvgResponseTime",
+ }
+ ContinuousProfilingTriggeredMonitorType_value = map[string]int32{
+ "ProcessCPU": 0,
+ "ProcessThreadCount": 1,
+ "SystemLoad": 2,
+ "HTTPErrorRate": 3,
+ "HTTPAvgResponseTime": 4,
+ }
+)
+
+func (x ContinuousProfilingTriggeredMonitorType) Enum() *ContinuousProfilingTriggeredMonitorType {
+ p := new(ContinuousProfilingTriggeredMonitorType)
+ *p = x
+ return p
+}
+
+func (x ContinuousProfilingTriggeredMonitorType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ContinuousProfilingTriggeredMonitorType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ebpf_profiling_Continuous_proto_enumTypes[0].Descriptor()
+}
+
+func (ContinuousProfilingTriggeredMonitorType) Type() protoreflect.EnumType {
+ return &file_ebpf_profiling_Continuous_proto_enumTypes[0]
+}
+
+func (x ContinuousProfilingTriggeredMonitorType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ContinuousProfilingTriggeredMonitorType.Descriptor instead.
+func (ContinuousProfilingTriggeredMonitorType) EnumDescriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Continuous_proto_rawDescGZIP(), []int{0}
+}
+
+type ContinuousProfilingPolicyQuery struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // current agent contains service and policies
+ Policies []*ContinuousProfilingServicePolicyQuery `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"`
+}
+
+func (x *ContinuousProfilingPolicyQuery) Reset() {
+ *x = ContinuousProfilingPolicyQuery{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ContinuousProfilingPolicyQuery) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ContinuousProfilingPolicyQuery) ProtoMessage() {}
+
+func (x *ContinuousProfilingPolicyQuery) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ContinuousProfilingPolicyQuery.ProtoReflect.Descriptor instead.
+func (*ContinuousProfilingPolicyQuery) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Continuous_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ContinuousProfilingPolicyQuery) GetPolicies() []*ContinuousProfilingServicePolicyQuery {
+ if x != nil {
+ return x.Policies
+ }
+ return nil
+}
+
+type ContinuousProfilingServicePolicyQuery struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // service name of the each process
+ ServiceName string `protobuf:"bytes,1,opt,name=serviceName,proto3" json:"serviceName,omitempty"`
+ // UUID represents the version(hash/shasum) of the current policies for the service.
+ // This is blank in the initialization stage and is set through the `ContinuousProfilingPolicyQuery` command response for the following rounds of queries.
+ Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"`
+}
+
+func (x *ContinuousProfilingServicePolicyQuery) Reset() {
+ *x = ContinuousProfilingServicePolicyQuery{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ContinuousProfilingServicePolicyQuery) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ContinuousProfilingServicePolicyQuery) ProtoMessage() {}
+
+func (x *ContinuousProfilingServicePolicyQuery) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ContinuousProfilingServicePolicyQuery.ProtoReflect.Descriptor instead.
+func (*ContinuousProfilingServicePolicyQuery) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Continuous_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *ContinuousProfilingServicePolicyQuery) GetServiceName() string {
+ if x != nil {
+ return x.ServiceName
+ }
+ return ""
+}
+
+func (x *ContinuousProfilingServicePolicyQuery) GetUuid() string {
+ if x != nil {
+ return x.Uuid
+ }
+ return ""
+}
+
+type ContinuousProfilingReport struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // over threshold process entity
+ Layer string `protobuf:"bytes,1,opt,name=layer,proto3" json:"layer,omitempty"`
+ ServiceName string `protobuf:"bytes,2,opt,name=serviceName,proto3" json:"serviceName,omitempty"`
+ InstanceName string `protobuf:"bytes,3,opt,name=instanceName,proto3" json:"instanceName,omitempty"`
+ ProcessName string `protobuf:"bytes,4,opt,name=processName,proto3" json:"processName,omitempty"`
+ // reached thresholds causes
+ Causes []*ContinuousProfilingCause `protobuf:"bytes,5,rep,name=causes,proto3" json:"causes,omitempty"`
+ // The execution duration for this triggered profiling.
+ // This is set at the agent side.
+ Duration int32 `protobuf:"varint,6,opt,name=duration,proto3" json:"duration,omitempty"`
+ // target profiling task
+ //
+ // Types that are assignable to TargetTask:
+ //
+ // *ContinuousProfilingReport_OnCPU
+ // *ContinuousProfilingReport_OffCPU
+ // *ContinuousProfilingReport_Network
+ TargetTask isContinuousProfilingReport_TargetTask `protobuf_oneof:"targetTask"`
+}
+
+func (x *ContinuousProfilingReport) Reset() {
+ *x = ContinuousProfilingReport{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ContinuousProfilingReport) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ContinuousProfilingReport) ProtoMessage() {}
+
+func (x *ContinuousProfilingReport) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ContinuousProfilingReport.ProtoReflect.Descriptor instead.
+func (*ContinuousProfilingReport) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Continuous_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *ContinuousProfilingReport) GetLayer() string {
+ if x != nil {
+ return x.Layer
+ }
+ return ""
+}
+
+func (x *ContinuousProfilingReport) GetServiceName() string {
+ if x != nil {
+ return x.ServiceName
+ }
+ return ""
+}
+
+func (x *ContinuousProfilingReport) GetInstanceName() string {
+ if x != nil {
+ return x.InstanceName
+ }
+ return ""
+}
+
+func (x *ContinuousProfilingReport) GetProcessName() string {
+ if x != nil {
+ return x.ProcessName
+ }
+ return ""
+}
+
+func (x *ContinuousProfilingReport) GetCauses() []*ContinuousProfilingCause {
+ if x != nil {
+ return x.Causes
+ }
+ return nil
+}
+
+func (x *ContinuousProfilingReport) GetDuration() int32 {
+ if x != nil {
+ return x.Duration
+ }
+ return 0
+}
+
+func (m *ContinuousProfilingReport) GetTargetTask() isContinuousProfilingReport_TargetTask {
+ if m != nil {
+ return m.TargetTask
+ }
+ return nil
+}
+
+func (x *ContinuousProfilingReport) GetOnCPU() *ContinuousOnCPUProfilingTask {
+ if x, ok := x.GetTargetTask().(*ContinuousProfilingReport_OnCPU); ok {
+ return x.OnCPU
+ }
+ return nil
+}
+
+func (x *ContinuousProfilingReport) GetOffCPU() *ContinuousOffCPUProfilingTask {
+ if x, ok := x.GetTargetTask().(*ContinuousProfilingReport_OffCPU); ok {
+ return x.OffCPU
+ }
+ return nil
+}
+
+func (x *ContinuousProfilingReport) GetNetwork() *ContinuousNetworkProfilingTask {
+ if x, ok := x.GetTargetTask().(*ContinuousProfilingReport_Network); ok {
+ return x.Network
+ }
+ return nil
+}
+
+type isContinuousProfilingReport_TargetTask interface {
+ isContinuousProfilingReport_TargetTask()
+}
+
+type ContinuousProfilingReport_OnCPU struct {
+ OnCPU *ContinuousOnCPUProfilingTask `protobuf:"bytes,7,opt,name=onCPU,proto3,oneof"`
+}
+
+type ContinuousProfilingReport_OffCPU struct {
+ OffCPU *ContinuousOffCPUProfilingTask `protobuf:"bytes,8,opt,name=offCPU,proto3,oneof"`
+}
+
+type ContinuousProfilingReport_Network struct {
+ Network *ContinuousNetworkProfilingTask `protobuf:"bytes,9,opt,name=network,proto3,oneof"`
+}
+
+func (*ContinuousProfilingReport_OnCPU) isContinuousProfilingReport_TargetTask() {}
+
+func (*ContinuousProfilingReport_OffCPU) isContinuousProfilingReport_TargetTask() {}
+
+func (*ContinuousProfilingReport_Network) isContinuousProfilingReport_TargetTask() {}
+
+type ContinuousProfilingCause struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type ContinuousProfilingTriggeredMonitorType `protobuf:"varint,1,opt,name=type,proto3,enum=skywalking.v3.ContinuousProfilingTriggeredMonitorType" json:"type,omitempty"`
+ // Types that are assignable to Cause:
+ //
+ // *ContinuousProfilingCause_SingleValue
+ // *ContinuousProfilingCause_Uri
+ Cause isContinuousProfilingCause_Cause `protobuf_oneof:"cause"`
+}
+
+func (x *ContinuousProfilingCause) Reset() {
+ *x = ContinuousProfilingCause{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ContinuousProfilingCause) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ContinuousProfilingCause) ProtoMessage() {}
+
+func (x *ContinuousProfilingCause) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ContinuousProfilingCause.ProtoReflect.Descriptor instead.
+func (*ContinuousProfilingCause) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Continuous_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *ContinuousProfilingCause) GetType() ContinuousProfilingTriggeredMonitorType {
+ if x != nil {
+ return x.Type
+ }
+ return ContinuousProfilingTriggeredMonitorType_ProcessCPU
+}
+
+func (m *ContinuousProfilingCause) GetCause() isContinuousProfilingCause_Cause {
+ if m != nil {
+ return m.Cause
+ }
+ return nil
+}
+
+func (x *ContinuousProfilingCause) GetSingleValue() *ContinuousProfilingSingleValueCause {
+ if x, ok := x.GetCause().(*ContinuousProfilingCause_SingleValue); ok {
+ return x.SingleValue
+ }
+ return nil
+}
+
+func (x *ContinuousProfilingCause) GetUri() *ContinuousProfilingURICause {
+ if x, ok := x.GetCause().(*ContinuousProfilingCause_Uri); ok {
+ return x.Uri
+ }
+ return nil
+}
+
+type isContinuousProfilingCause_Cause interface {
+ isContinuousProfilingCause_Cause()
+}
+
+type ContinuousProfilingCause_SingleValue struct {
+ SingleValue *ContinuousProfilingSingleValueCause `protobuf:"bytes,2,opt,name=singleValue,proto3,oneof"`
+}
+
+type ContinuousProfilingCause_Uri struct {
+ Uri *ContinuousProfilingURICause `protobuf:"bytes,3,opt,name=uri,proto3,oneof"`
+}
+
+func (*ContinuousProfilingCause_SingleValue) isContinuousProfilingCause_Cause() {}
+
+func (*ContinuousProfilingCause_Uri) isContinuousProfilingCause_Cause() {}
+
+type ContinuousProfilingSingleValueCause struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Threshold float64 `protobuf:"fixed64,1,opt,name=threshold,proto3" json:"threshold,omitempty"`
+ Current float64 `protobuf:"fixed64,2,opt,name=current,proto3" json:"current,omitempty"`
+}
+
+func (x *ContinuousProfilingSingleValueCause) Reset() {
+ *x = ContinuousProfilingSingleValueCause{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ContinuousProfilingSingleValueCause) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ContinuousProfilingSingleValueCause) ProtoMessage() {}
+
+func (x *ContinuousProfilingSingleValueCause) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ContinuousProfilingSingleValueCause.ProtoReflect.Descriptor instead.
+func (*ContinuousProfilingSingleValueCause) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Continuous_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *ContinuousProfilingSingleValueCause) GetThreshold() float64 {
+ if x != nil {
+ return x.Threshold
+ }
+ return 0
+}
+
+func (x *ContinuousProfilingSingleValueCause) GetCurrent() float64 {
+ if x != nil {
+ return x.Current
+ }
+ return 0
+}
+
+type ContinuousProfilingURICause struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Uri:
+ //
+ // *ContinuousProfilingURICause_Regex
+ // *ContinuousProfilingURICause_Path
+ Uri isContinuousProfilingURICause_Uri `protobuf_oneof:"uri"`
+ Threshold float64 `protobuf:"fixed64,3,opt,name=threshold,proto3" json:"threshold,omitempty"`
+ Current float64 `protobuf:"fixed64,4,opt,name=current,proto3" json:"current,omitempty"`
+}
+
+func (x *ContinuousProfilingURICause) Reset() {
+ *x = ContinuousProfilingURICause{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ContinuousProfilingURICause) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ContinuousProfilingURICause) ProtoMessage() {}
+
+func (x *ContinuousProfilingURICause) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ContinuousProfilingURICause.ProtoReflect.Descriptor instead.
+func (*ContinuousProfilingURICause) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Continuous_proto_rawDescGZIP(), []int{5}
+}
+
+func (m *ContinuousProfilingURICause) GetUri() isContinuousProfilingURICause_Uri {
+ if m != nil {
+ return m.Uri
+ }
+ return nil
+}
+
+func (x *ContinuousProfilingURICause) GetRegex() string {
+ if x, ok := x.GetUri().(*ContinuousProfilingURICause_Regex); ok {
+ return x.Regex
+ }
+ return ""
+}
+
+func (x *ContinuousProfilingURICause) GetPath() string {
+ if x, ok := x.GetUri().(*ContinuousProfilingURICause_Path); ok {
+ return x.Path
+ }
+ return ""
+}
+
+func (x *ContinuousProfilingURICause) GetThreshold() float64 {
+ if x != nil {
+ return x.Threshold
+ }
+ return 0
+}
+
+func (x *ContinuousProfilingURICause) GetCurrent() float64 {
+ if x != nil {
+ return x.Current
+ }
+ return 0
+}
+
+type isContinuousProfilingURICause_Uri interface {
+ isContinuousProfilingURICause_Uri()
+}
+
+type ContinuousProfilingURICause_Regex struct {
+ Regex string `protobuf:"bytes,1,opt,name=regex,proto3,oneof"`
+}
+
+type ContinuousProfilingURICause_Path struct {
+ Path string `protobuf:"bytes,2,opt,name=path,proto3,oneof"`
+}
+
+func (*ContinuousProfilingURICause_Regex) isContinuousProfilingURICause_Uri() {}
+
+func (*ContinuousProfilingURICause_Path) isContinuousProfilingURICause_Uri() {}
+
+// eBPF on CPU profiling task
+type ContinuousOnCPUProfilingTask struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ContinuousOnCPUProfilingTask) Reset() {
+ *x = ContinuousOnCPUProfilingTask{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ContinuousOnCPUProfilingTask) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ContinuousOnCPUProfilingTask) ProtoMessage() {}
+
+func (x *ContinuousOnCPUProfilingTask) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ContinuousOnCPUProfilingTask.ProtoReflect.Descriptor instead.
+func (*ContinuousOnCPUProfilingTask) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Continuous_proto_rawDescGZIP(), []int{6}
+}
+
+// eBPF off CPU profiling task
+type ContinuousOffCPUProfilingTask struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ContinuousOffCPUProfilingTask) Reset() {
+ *x = ContinuousOffCPUProfilingTask{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ContinuousOffCPUProfilingTask) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ContinuousOffCPUProfilingTask) ProtoMessage() {}
+
+func (x *ContinuousOffCPUProfilingTask) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[7]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ContinuousOffCPUProfilingTask.ProtoReflect.Descriptor instead.
+func (*ContinuousOffCPUProfilingTask) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Continuous_proto_rawDescGZIP(), []int{7}
+}
+
+// eBPF Network profiling task
+type ContinuousNetworkProfilingTask struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SamplingURIRegexes []string `protobuf:"bytes,1,rep,name=samplingURIRegexes,proto3" json:"samplingURIRegexes,omitempty"`
+}
+
+func (x *ContinuousNetworkProfilingTask) Reset() {
+ *x = ContinuousNetworkProfilingTask{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ContinuousNetworkProfilingTask) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ContinuousNetworkProfilingTask) ProtoMessage() {}
+
+func (x *ContinuousNetworkProfilingTask) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Continuous_proto_msgTypes[8]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ContinuousNetworkProfilingTask.ProtoReflect.Descriptor instead.
+func (*ContinuousNetworkProfilingTask) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Continuous_proto_rawDescGZIP(), []int{8}
+}
+
+func (x *ContinuousNetworkProfilingTask) GetSamplingURIRegexes() []string {
+ if x != nil {
+ return x.SamplingURIRegexes
+ }
+ return nil
+}
+
+var File_ebpf_profiling_Continuous_proto protoreflect.FileDescriptor
+
+var file_ebpf_profiling_Continuous_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x65, 0x62, 0x70, 0x66, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67,
+ 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x0d, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33,
+ 0x1a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x1e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
+ 0x75, 0x6f, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c,
+ 0x69, 0x63, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x50, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69,
+ 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x73, 0x6b, 0x79,
+ 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69,
+ 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x65,
+ 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79,
+ 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x5d, 0x0a, 0x25, 0x43, 0x6f,
+ 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e,
+ 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x51, 0x75,
+ 0x65, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61,
+ 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xdc, 0x03, 0x0a, 0x19, 0x43, 0x6f,
+ 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e,
+ 0x67, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x20, 0x0a,
+ 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
+ 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e,
+ 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4e, 0x61,
+ 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
+ 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x63, 0x61, 0x75, 0x73, 0x65, 0x73, 0x18,
+ 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73,
+ 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x75, 0x73, 0x65, 0x52, 0x06,
+ 0x63, 0x61, 0x75, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x05, 0x6f, 0x6e, 0x43, 0x50, 0x55, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x4f, 0x6e, 0x43, 0x50,
+ 0x55, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00,
+ 0x52, 0x05, 0x6f, 0x6e, 0x43, 0x50, 0x55, 0x12, 0x46, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x43, 0x50,
+ 0x55, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f,
+ 0x75, 0x73, 0x4f, 0x66, 0x66, 0x43, 0x50, 0x55, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e,
+ 0x67, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x43, 0x50, 0x55, 0x12,
+ 0x49, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2d, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33,
+ 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f,
+ 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x48,
+ 0x00, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x0c, 0x0a, 0x0a, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x22, 0x87, 0x02, 0x0a, 0x18, 0x43, 0x6f, 0x6e,
+ 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67,
+ 0x43, 0x61, 0x75, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x50, 0x72,
+ 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x65, 0x64,
+ 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
+ 0x65, 0x12, 0x56, 0x0a, 0x0b, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75,
+ 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x69,
+ 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3e, 0x0a, 0x03, 0x75, 0x72, 0x69,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75,
+ 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x55, 0x52, 0x49, 0x43, 0x61, 0x75,
+ 0x73, 0x65, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x69, 0x42, 0x07, 0x0a, 0x05, 0x63, 0x61, 0x75,
+ 0x73, 0x65, 0x22, 0x5d, 0x0a, 0x23, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73,
+ 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72,
+ 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, 0x68,
+ 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65,
+ 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
+ 0x74, 0x22, 0x8a, 0x01, 0x0a, 0x1b, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73,
+ 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x55, 0x52, 0x49, 0x43, 0x61, 0x75, 0x73,
+ 0x65, 0x12, 0x16, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x04, 0x70, 0x61, 0x74,
+ 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12,
+ 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x01, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x18, 0x0a,
+ 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07,
+ 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x22, 0x1e,
+ 0x0a, 0x1c, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x4f, 0x6e, 0x43, 0x50,
+ 0x55, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x22, 0x1f,
+ 0x0a, 0x1d, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x4f, 0x66, 0x66, 0x43,
+ 0x50, 0x55, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x22,
+ 0x50, 0x0a, 0x1e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x4e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73,
+ 0x6b, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x55, 0x52, 0x49,
+ 0x52, 0x65, 0x67, 0x65, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x73,
+ 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x55, 0x52, 0x49, 0x52, 0x65, 0x67, 0x65, 0x78, 0x65,
+ 0x73, 0x2a, 0x8d, 0x01, 0x0a, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73,
+ 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
+ 0x65, 0x64, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a,
+ 0x0a, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x50, 0x55, 0x10, 0x00, 0x12, 0x16, 0x0a,
+ 0x12, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4c,
+ 0x6f, 0x61, 0x64, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x48, 0x54, 0x54, 0x50, 0x45, 0x72, 0x72,
+ 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x48, 0x54, 0x54, 0x50,
+ 0x41, 0x76, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x10,
+ 0x04, 0x32, 0xd3, 0x01, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73,
+ 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x12, 0x59, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65,
+ 0x73, 0x12, 0x2d, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x66,
+ 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79,
+ 0x1a, 0x17, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33,
+ 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x13, 0x72,
+ 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x61,
+ 0x73, 0x6b, 0x12, 0x28, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x50, 0x72, 0x6f,
+ 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x17, 0x2e, 0x73,
+ 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d,
+ 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0x00, 0x42, 0x73, 0x0a, 0x33, 0x6f, 0x72, 0x67, 0x2e, 0x61,
+ 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x62, 0x70,
+ 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x50, 0x01,
+ 0x5a, 0x3a, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x70, 0x61,
+ 0x63, 0x68, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x2f, 0x67, 0x6f, 0x61,
+ 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x2f, 0x65, 0x62, 0x70, 0x66, 0x2f,
+ 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ebpf_profiling_Continuous_proto_rawDescOnce sync.Once
+ file_ebpf_profiling_Continuous_proto_rawDescData = file_ebpf_profiling_Continuous_proto_rawDesc
+)
+
+func file_ebpf_profiling_Continuous_proto_rawDescGZIP() []byte {
+ file_ebpf_profiling_Continuous_proto_rawDescOnce.Do(func() {
+ file_ebpf_profiling_Continuous_proto_rawDescData = protoimpl.X.CompressGZIP(file_ebpf_profiling_Continuous_proto_rawDescData)
+ })
+ return file_ebpf_profiling_Continuous_proto_rawDescData
+}
+
+var file_ebpf_profiling_Continuous_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ebpf_profiling_Continuous_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
+var file_ebpf_profiling_Continuous_proto_goTypes = []interface{}{
+ (ContinuousProfilingTriggeredMonitorType)(0), // 0: skywalking.v3.ContinuousProfilingTriggeredMonitorType
+ (*ContinuousProfilingPolicyQuery)(nil), // 1: skywalking.v3.ContinuousProfilingPolicyQuery
+ (*ContinuousProfilingServicePolicyQuery)(nil), // 2: skywalking.v3.ContinuousProfilingServicePolicyQuery
+ (*ContinuousProfilingReport)(nil), // 3: skywalking.v3.ContinuousProfilingReport
+ (*ContinuousProfilingCause)(nil), // 4: skywalking.v3.ContinuousProfilingCause
+ (*ContinuousProfilingSingleValueCause)(nil), // 5: skywalking.v3.ContinuousProfilingSingleValueCause
+ (*ContinuousProfilingURICause)(nil), // 6: skywalking.v3.ContinuousProfilingURICause
+ (*ContinuousOnCPUProfilingTask)(nil), // 7: skywalking.v3.ContinuousOnCPUProfilingTask
+ (*ContinuousOffCPUProfilingTask)(nil), // 8: skywalking.v3.ContinuousOffCPUProfilingTask
+ (*ContinuousNetworkProfilingTask)(nil), // 9: skywalking.v3.ContinuousNetworkProfilingTask
+ (*v3.Commands)(nil), // 10: skywalking.v3.Commands
+}
+var file_ebpf_profiling_Continuous_proto_depIdxs = []int32{
+ 2, // 0: skywalking.v3.ContinuousProfilingPolicyQuery.policies:type_name -> skywalking.v3.ContinuousProfilingServicePolicyQuery
+ 4, // 1: skywalking.v3.ContinuousProfilingReport.causes:type_name -> skywalking.v3.ContinuousProfilingCause
+ 7, // 2: skywalking.v3.ContinuousProfilingReport.onCPU:type_name -> skywalking.v3.ContinuousOnCPUProfilingTask
+ 8, // 3: skywalking.v3.ContinuousProfilingReport.offCPU:type_name -> skywalking.v3.ContinuousOffCPUProfilingTask
+ 9, // 4: skywalking.v3.ContinuousProfilingReport.network:type_name -> skywalking.v3.ContinuousNetworkProfilingTask
+ 0, // 5: skywalking.v3.ContinuousProfilingCause.type:type_name -> skywalking.v3.ContinuousProfilingTriggeredMonitorType
+ 5, // 6: skywalking.v3.ContinuousProfilingCause.singleValue:type_name -> skywalking.v3.ContinuousProfilingSingleValueCause
+ 6, // 7: skywalking.v3.ContinuousProfilingCause.uri:type_name -> skywalking.v3.ContinuousProfilingURICause
+ 1, // 8: skywalking.v3.ContinuousProfilingService.queryPolicies:input_type -> skywalking.v3.ContinuousProfilingPolicyQuery
+ 3, // 9: skywalking.v3.ContinuousProfilingService.reportProfilingTask:input_type -> skywalking.v3.ContinuousProfilingReport
+ 10, // 10: skywalking.v3.ContinuousProfilingService.queryPolicies:output_type -> skywalking.v3.Commands
+ 10, // 11: skywalking.v3.ContinuousProfilingService.reportProfilingTask:output_type -> skywalking.v3.Commands
+ 10, // [10:12] is the sub-list for method output_type
+ 8, // [8:10] is the sub-list for method input_type
+ 8, // [8:8] is the sub-list for extension type_name
+ 8, // [8:8] is the sub-list for extension extendee
+ 0, // [0:8] is the sub-list for field type_name
+}
+
+func init() { file_ebpf_profiling_Continuous_proto_init() }
+func file_ebpf_profiling_Continuous_proto_init() {
+ if File_ebpf_profiling_Continuous_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ebpf_profiling_Continuous_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ContinuousProfilingPolicyQuery); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Continuous_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ContinuousProfilingServicePolicyQuery); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Continuous_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ContinuousProfilingReport); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Continuous_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ContinuousProfilingCause); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Continuous_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ContinuousProfilingSingleValueCause); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Continuous_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ContinuousProfilingURICause); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Continuous_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ContinuousOnCPUProfilingTask); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Continuous_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ContinuousOffCPUProfilingTask); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Continuous_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ContinuousNetworkProfilingTask); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_ebpf_profiling_Continuous_proto_msgTypes[2].OneofWrappers = []interface{}{
+ (*ContinuousProfilingReport_OnCPU)(nil),
+ (*ContinuousProfilingReport_OffCPU)(nil),
+ (*ContinuousProfilingReport_Network)(nil),
+ }
+ file_ebpf_profiling_Continuous_proto_msgTypes[3].OneofWrappers = []interface{}{
+ (*ContinuousProfilingCause_SingleValue)(nil),
+ (*ContinuousProfilingCause_Uri)(nil),
+ }
+ file_ebpf_profiling_Continuous_proto_msgTypes[5].OneofWrappers = []interface{}{
+ (*ContinuousProfilingURICause_Regex)(nil),
+ (*ContinuousProfilingURICause_Path)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ebpf_profiling_Continuous_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 9,
+ NumExtensions: 0,
+ NumServices: 1,
+ },
+ GoTypes: file_ebpf_profiling_Continuous_proto_goTypes,
+ DependencyIndexes: file_ebpf_profiling_Continuous_proto_depIdxs,
+ EnumInfos: file_ebpf_profiling_Continuous_proto_enumTypes,
+ MessageInfos: file_ebpf_profiling_Continuous_proto_msgTypes,
+ }.Build()
+ File_ebpf_profiling_Continuous_proto = out.File
+ file_ebpf_profiling_Continuous_proto_rawDesc = nil
+ file_ebpf_profiling_Continuous_proto_goTypes = nil
+ file_ebpf_profiling_Continuous_proto_depIdxs = nil
+}
diff --git a/protocols/collect/ebpf/profiling/v3/Continuous_grpc.pb.go b/protocols/collect/ebpf/profiling/v3/Continuous_grpc.pb.go
new file mode 100644
index 0000000..ac9b195
--- /dev/null
+++ b/protocols/collect/ebpf/profiling/v3/Continuous_grpc.pb.go
@@ -0,0 +1,145 @@
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+
+package v3
+
+import (
+ context "context"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+ v3 "github.com/apache/skywalking-go/protocols/collect/common/v3"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+// ContinuousProfilingServiceClient is the client API for ContinuousProfilingService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type ContinuousProfilingServiceClient interface {
+ // Query continuous profiling policy
+ QueryPolicies(ctx context.Context, in *ContinuousProfilingPolicyQuery, opts ...grpc.CallOption) (*v3.Commands, error)
+ // Report the profiling task when the policy threshold is reached
+ // Use the returned task ID to perform the profiling task through EBPFProfilingService#collectProfilingData.
+ ReportProfilingTask(ctx context.Context, in *ContinuousProfilingReport, opts ...grpc.CallOption) (*v3.Commands, error)
+}
+
+type continuousProfilingServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewContinuousProfilingServiceClient(cc grpc.ClientConnInterface) ContinuousProfilingServiceClient {
+ return &continuousProfilingServiceClient{cc}
+}
+
+func (c *continuousProfilingServiceClient) QueryPolicies(ctx context.Context, in *ContinuousProfilingPolicyQuery, opts ...grpc.CallOption) (*v3.Commands, error) {
+ out := new(v3.Commands)
+ err := c.cc.Invoke(ctx, "/skywalking.v3.ContinuousProfilingService/queryPolicies", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *continuousProfilingServiceClient) ReportProfilingTask(ctx context.Context, in *ContinuousProfilingReport, opts ...grpc.CallOption) (*v3.Commands, error) {
+ out := new(v3.Commands)
+ err := c.cc.Invoke(ctx, "/skywalking.v3.ContinuousProfilingService/reportProfilingTask", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// ContinuousProfilingServiceServer is the server API for ContinuousProfilingService service.
+// All implementations must embed UnimplementedContinuousProfilingServiceServer
+// for forward compatibility
+type ContinuousProfilingServiceServer interface {
+ // Query continuous profiling policy
+ QueryPolicies(context.Context, *ContinuousProfilingPolicyQuery) (*v3.Commands, error)
+ // Report the profiling task when the policy threshold is reached
+ // Use the returned task ID to perform the profiling task through EBPFProfilingService#collectProfilingData.
+ ReportProfilingTask(context.Context, *ContinuousProfilingReport) (*v3.Commands, error)
+ mustEmbedUnimplementedContinuousProfilingServiceServer()
+}
+
+// UnimplementedContinuousProfilingServiceServer must be embedded to have forward compatible implementations.
+type UnimplementedContinuousProfilingServiceServer struct {
+}
+
+func (UnimplementedContinuousProfilingServiceServer) QueryPolicies(context.Context, *ContinuousProfilingPolicyQuery) (*v3.Commands, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method QueryPolicies not implemented")
+}
+func (UnimplementedContinuousProfilingServiceServer) ReportProfilingTask(context.Context, *ContinuousProfilingReport) (*v3.Commands, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ReportProfilingTask not implemented")
+}
+func (UnimplementedContinuousProfilingServiceServer) mustEmbedUnimplementedContinuousProfilingServiceServer() {
+}
+
+// UnsafeContinuousProfilingServiceServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to ContinuousProfilingServiceServer will
+// result in compilation errors.
+type UnsafeContinuousProfilingServiceServer interface {
+ mustEmbedUnimplementedContinuousProfilingServiceServer()
+}
+
+func RegisterContinuousProfilingServiceServer(s grpc.ServiceRegistrar, srv ContinuousProfilingServiceServer) {
+ s.RegisterService(&ContinuousProfilingService_ServiceDesc, srv)
+}
+
+func _ContinuousProfilingService_QueryPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ContinuousProfilingPolicyQuery)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ContinuousProfilingServiceServer).QueryPolicies(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/skywalking.v3.ContinuousProfilingService/queryPolicies",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ContinuousProfilingServiceServer).QueryPolicies(ctx, req.(*ContinuousProfilingPolicyQuery))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _ContinuousProfilingService_ReportProfilingTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ContinuousProfilingReport)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ContinuousProfilingServiceServer).ReportProfilingTask(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/skywalking.v3.ContinuousProfilingService/reportProfilingTask",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ContinuousProfilingServiceServer).ReportProfilingTask(ctx, req.(*ContinuousProfilingReport))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+// ContinuousProfilingService_ServiceDesc is the grpc.ServiceDesc for ContinuousProfilingService service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var ContinuousProfilingService_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "skywalking.v3.ContinuousProfilingService",
+ HandlerType: (*ContinuousProfilingServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "queryPolicies",
+ Handler: _ContinuousProfilingService_QueryPolicies_Handler,
+ },
+ {
+ MethodName: "reportProfilingTask",
+ Handler: _ContinuousProfilingService_ReportProfilingTask_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "ebpf/profiling/Continuous.proto",
+}
diff --git a/protocols/collect/ebpf/profiling/v3/Profile.pb.go b/protocols/collect/ebpf/profiling/v3/Profile.pb.go
new file mode 100644
index 0000000..85af03c
--- /dev/null
+++ b/protocols/collect/ebpf/profiling/v3/Profile.pb.go
@@ -0,0 +1,736 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ebpf/profiling/Profile.proto
+
+package v3
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ v3 "github.com/apache/skywalking-go/protocols/collect/common/v3"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EBPFProfilingStackType int32
+
+const (
+ EBPFProfilingStackType_PROCESS_KERNEL_SPACE EBPFProfilingStackType = 0
+ EBPFProfilingStackType_PROCESS_USER_SPACE EBPFProfilingStackType = 1
+)
+
+// Enum value maps for EBPFProfilingStackType.
+var (
+ EBPFProfilingStackType_name = map[int32]string{
+ 0: "PROCESS_KERNEL_SPACE",
+ 1: "PROCESS_USER_SPACE",
+ }
+ EBPFProfilingStackType_value = map[string]int32{
+ "PROCESS_KERNEL_SPACE": 0,
+ "PROCESS_USER_SPACE": 1,
+ }
+)
+
+func (x EBPFProfilingStackType) Enum() *EBPFProfilingStackType {
+ p := new(EBPFProfilingStackType)
+ *p = x
+ return p
+}
+
+func (x EBPFProfilingStackType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (EBPFProfilingStackType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ebpf_profiling_Profile_proto_enumTypes[0].Descriptor()
+}
+
+func (EBPFProfilingStackType) Type() protoreflect.EnumType {
+ return &file_ebpf_profiling_Profile_proto_enumTypes[0]
+}
+
+func (x EBPFProfilingStackType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use EBPFProfilingStackType.Descriptor instead.
+func (EBPFProfilingStackType) EnumDescriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Profile_proto_rawDescGZIP(), []int{0}
+}
+
+type EBPFProfilingTaskQuery struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // rover instance id
+ RoverInstanceId string `protobuf:"bytes,1,opt,name=roverInstanceId,proto3" json:"roverInstanceId,omitempty"`
+ // latest task update time
+ LatestUpdateTime int64 `protobuf:"varint,2,opt,name=latestUpdateTime,proto3" json:"latestUpdateTime,omitempty"`
+}
+
+func (x *EBPFProfilingTaskQuery) Reset() {
+ *x = EBPFProfilingTaskQuery{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Profile_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFProfilingTaskQuery) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFProfilingTaskQuery) ProtoMessage() {}
+
+func (x *EBPFProfilingTaskQuery) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Profile_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFProfilingTaskQuery.ProtoReflect.Descriptor instead.
+func (*EBPFProfilingTaskQuery) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Profile_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EBPFProfilingTaskQuery) GetRoverInstanceId() string {
+ if x != nil {
+ return x.RoverInstanceId
+ }
+ return ""
+}
+
+func (x *EBPFProfilingTaskQuery) GetLatestUpdateTime() int64 {
+ if x != nil {
+ return x.LatestUpdateTime
+ }
+ return 0
+}
+
+type EBPFProfilingData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // task metadata
+ Task *EBPFProfilingTaskMetadata `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"`
+ // profiling data
+ //
+ // Types that are assignable to Profiling:
+ //
+ // *EBPFProfilingData_OnCPU
+ // *EBPFProfilingData_OffCPU
+ Profiling isEBPFProfilingData_Profiling `protobuf_oneof:"profiling"`
+}
+
+func (x *EBPFProfilingData) Reset() {
+ *x = EBPFProfilingData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Profile_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFProfilingData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFProfilingData) ProtoMessage() {}
+
+func (x *EBPFProfilingData) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Profile_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFProfilingData.ProtoReflect.Descriptor instead.
+func (*EBPFProfilingData) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Profile_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *EBPFProfilingData) GetTask() *EBPFProfilingTaskMetadata {
+ if x != nil {
+ return x.Task
+ }
+ return nil
+}
+
+func (m *EBPFProfilingData) GetProfiling() isEBPFProfilingData_Profiling {
+ if m != nil {
+ return m.Profiling
+ }
+ return nil
+}
+
+func (x *EBPFProfilingData) GetOnCPU() *EBPFOnCPUProfiling {
+ if x, ok := x.GetProfiling().(*EBPFProfilingData_OnCPU); ok {
+ return x.OnCPU
+ }
+ return nil
+}
+
+func (x *EBPFProfilingData) GetOffCPU() *EBPFOffCPUProfiling {
+ if x, ok := x.GetProfiling().(*EBPFProfilingData_OffCPU); ok {
+ return x.OffCPU
+ }
+ return nil
+}
+
+type isEBPFProfilingData_Profiling interface {
+ isEBPFProfilingData_Profiling()
+}
+
+type EBPFProfilingData_OnCPU struct {
+ OnCPU *EBPFOnCPUProfiling `protobuf:"bytes,2,opt,name=onCPU,proto3,oneof"`
+}
+
+type EBPFProfilingData_OffCPU struct {
+ OffCPU *EBPFOffCPUProfiling `protobuf:"bytes,3,opt,name=offCPU,proto3,oneof"`
+}
+
+func (*EBPFProfilingData_OnCPU) isEBPFProfilingData_Profiling() {}
+
+func (*EBPFProfilingData_OffCPU) isEBPFProfilingData_Profiling() {}
+
+type EBPFProfilingTaskMetadata struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // profiling task id
+ TaskId string `protobuf:"bytes,1,opt,name=taskId,proto3" json:"taskId,omitempty"`
+ // profiling process id
+ ProcessId string `protobuf:"bytes,2,opt,name=processId,proto3" json:"processId,omitempty"`
+ // the start time of this profiling process
+ ProfilingStartTime int64 `protobuf:"varint,3,opt,name=profilingStartTime,proto3" json:"profilingStartTime,omitempty"`
+ // report time
+ CurrentTime int64 `protobuf:"varint,4,opt,name=currentTime,proto3" json:"currentTime,omitempty"`
+}
+
+func (x *EBPFProfilingTaskMetadata) Reset() {
+ *x = EBPFProfilingTaskMetadata{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Profile_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFProfilingTaskMetadata) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFProfilingTaskMetadata) ProtoMessage() {}
+
+func (x *EBPFProfilingTaskMetadata) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Profile_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFProfilingTaskMetadata.ProtoReflect.Descriptor instead.
+func (*EBPFProfilingTaskMetadata) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Profile_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *EBPFProfilingTaskMetadata) GetTaskId() string {
+ if x != nil {
+ return x.TaskId
+ }
+ return ""
+}
+
+func (x *EBPFProfilingTaskMetadata) GetProcessId() string {
+ if x != nil {
+ return x.ProcessId
+ }
+ return ""
+}
+
+func (x *EBPFProfilingTaskMetadata) GetProfilingStartTime() int64 {
+ if x != nil {
+ return x.ProfilingStartTime
+ }
+ return 0
+}
+
+func (x *EBPFProfilingTaskMetadata) GetCurrentTime() int64 {
+ if x != nil {
+ return x.CurrentTime
+ }
+ return 0
+}
+
+type EBPFProfilingStackMetadata struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // stack type
+ StackType EBPFProfilingStackType `protobuf:"varint,1,opt,name=stackType,proto3,enum=skywalking.v3.EBPFProfilingStackType" json:"stackType,omitempty"`
+ // stack id from kernel provide
+ StackId int32 `protobuf:"varint,2,opt,name=stackId,proto3" json:"stackId,omitempty"`
+ // stack symbols
+ StackSymbols []string `protobuf:"bytes,3,rep,name=stackSymbols,proto3" json:"stackSymbols,omitempty"`
+}
+
+func (x *EBPFProfilingStackMetadata) Reset() {
+ *x = EBPFProfilingStackMetadata{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Profile_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFProfilingStackMetadata) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFProfilingStackMetadata) ProtoMessage() {}
+
+func (x *EBPFProfilingStackMetadata) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Profile_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFProfilingStackMetadata.ProtoReflect.Descriptor instead.
+func (*EBPFProfilingStackMetadata) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Profile_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *EBPFProfilingStackMetadata) GetStackType() EBPFProfilingStackType {
+ if x != nil {
+ return x.StackType
+ }
+ return EBPFProfilingStackType_PROCESS_KERNEL_SPACE
+}
+
+func (x *EBPFProfilingStackMetadata) GetStackId() int32 {
+ if x != nil {
+ return x.StackId
+ }
+ return 0
+}
+
+func (x *EBPFProfilingStackMetadata) GetStackSymbols() []string {
+ if x != nil {
+ return x.StackSymbols
+ }
+ return nil
+}
+
+type EBPFOnCPUProfiling struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // stack data in one task(thread)
+ Stacks []*EBPFProfilingStackMetadata `protobuf:"bytes,1,rep,name=stacks,proto3" json:"stacks,omitempty"`
+ // stack counts
+ DumpCount int32 `protobuf:"varint,2,opt,name=dumpCount,proto3" json:"dumpCount,omitempty"`
+}
+
+func (x *EBPFOnCPUProfiling) Reset() {
+ *x = EBPFOnCPUProfiling{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Profile_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFOnCPUProfiling) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFOnCPUProfiling) ProtoMessage() {}
+
+func (x *EBPFOnCPUProfiling) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Profile_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFOnCPUProfiling.ProtoReflect.Descriptor instead.
+func (*EBPFOnCPUProfiling) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Profile_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *EBPFOnCPUProfiling) GetStacks() []*EBPFProfilingStackMetadata {
+ if x != nil {
+ return x.Stacks
+ }
+ return nil
+}
+
+func (x *EBPFOnCPUProfiling) GetDumpCount() int32 {
+ if x != nil {
+ return x.DumpCount
+ }
+ return 0
+}
+
+type EBPFOffCPUProfiling struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // stack data in one task(thread)
+ Stacks []*EBPFProfilingStackMetadata `protobuf:"bytes,1,rep,name=stacks,proto3" json:"stacks,omitempty"`
+ // total count of the process is switched to off cpu by the scheduler.
+ SwitchCount int32 `protobuf:"varint,2,opt,name=switchCount,proto3" json:"switchCount,omitempty"`
+ // where time(nanoseconds) is spent waiting while blocked on I/O, locks, timers, paging/swapping, etc.
+ Duration int64 `protobuf:"varint,3,opt,name=duration,proto3" json:"duration,omitempty"`
+}
+
+func (x *EBPFOffCPUProfiling) Reset() {
+ *x = EBPFOffCPUProfiling{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ebpf_profiling_Profile_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EBPFOffCPUProfiling) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFOffCPUProfiling) ProtoMessage() {}
+
+func (x *EBPFOffCPUProfiling) ProtoReflect() protoreflect.Message {
+ mi := &file_ebpf_profiling_Profile_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFOffCPUProfiling.ProtoReflect.Descriptor instead.
+func (*EBPFOffCPUProfiling) Descriptor() ([]byte, []int) {
+ return file_ebpf_profiling_Profile_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *EBPFOffCPUProfiling) GetStacks() []*EBPFProfilingStackMetadata {
+ if x != nil {
+ return x.Stacks
+ }
+ return nil
+}
+
+func (x *EBPFOffCPUProfiling) GetSwitchCount() int32 {
+ if x != nil {
+ return x.SwitchCount
+ }
+ return 0
+}
+
+func (x *EBPFOffCPUProfiling) GetDuration() int64 {
+ if x != nil {
+ return x.Duration
+ }
+ return 0
+}
+
+var File_ebpf_profiling_Profile_proto protoreflect.FileDescriptor
+
+var file_ebpf_profiling_Profile_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x65, 0x62, 0x70, 0x66, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67,
+ 0x2f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d,
+ 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x14, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x6e, 0x0a, 0x16, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x66, 0x69,
+ 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x28, 0x0a,
+ 0x0f, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x73,
+ 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73,
+ 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x03, 0x52, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54,
+ 0x69, 0x6d, 0x65, 0x22, 0xd7, 0x01, 0x0a, 0x11, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x66,
+ 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x04, 0x74, 0x61, 0x73,
+ 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x66,
+ 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
+ 0x61, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x39, 0x0a, 0x05, 0x6f, 0x6e, 0x43, 0x50, 0x55,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x4f, 0x6e, 0x43, 0x50, 0x55,
+ 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x6e, 0x43,
+ 0x50, 0x55, 0x12, 0x3c, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x43, 0x50, 0x55, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x4f, 0x66, 0x66, 0x43, 0x50, 0x55, 0x50, 0x72, 0x6f,
+ 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x43, 0x50, 0x55,
+ 0x42, 0x0b, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x22, 0xa3, 0x01,
+ 0x0a, 0x19, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x54,
+ 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x74,
+ 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73,
+ 0x6b, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49,
+ 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x70,
+ 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,
+ 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54,
+ 0x69, 0x6d, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x1a, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x66,
+ 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
+ 0x74, 0x61, 0x12, 0x43, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
+ 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x74,
+ 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x63, 0x6b,
+ 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x49,
+ 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c,
+ 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x53, 0x79,
+ 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x22, 0x75, 0x0a, 0x12, 0x45, 0x42, 0x50, 0x46, 0x4f, 0x6e, 0x43,
+ 0x50, 0x55, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x41, 0x0a, 0x06, 0x73,
+ 0x74, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x6b,
+ 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46,
+ 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x4d, 0x65,
+ 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x06, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x1c,
+ 0x0a, 0x09, 0x64, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x09, 0x64, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x96, 0x01, 0x0a,
+ 0x13, 0x45, 0x42, 0x50, 0x46, 0x4f, 0x66, 0x66, 0x43, 0x50, 0x55, 0x50, 0x72, 0x6f, 0x66, 0x69,
+ 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69,
+ 0x6e, 0x67, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52,
+ 0x06, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x77, 0x69, 0x74, 0x63,
+ 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x77,
+ 0x69, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x4a, 0x0a, 0x16, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f,
+ 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x18, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x4b, 0x45, 0x52, 0x4e, 0x45,
+ 0x4c, 0x5f, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f,
+ 0x43, 0x45, 0x53, 0x53, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10,
+ 0x01, 0x32, 0xbd, 0x01, 0x0a, 0x14, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
+ 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4e, 0x0a, 0x0a, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x25, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61,
+ 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f,
+ 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a,
+ 0x17, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e,
+ 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x14, 0x63, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61,
+ 0x74, 0x61, 0x12, 0x20, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67,
+ 0x44, 0x61, 0x74, 0x61, 0x1a, 0x17, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0x00, 0x28,
+ 0x01, 0x42, 0x73, 0x0a, 0x33, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e,
+ 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x62, 0x70, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x66,
+ 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x50, 0x01, 0x5a, 0x3a, 0x73, 0x6b, 0x79, 0x77,
+ 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x6f, 0x72,
+ 0x67, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x2f, 0x67, 0x6f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6c,
+ 0x6c, 0x65, 0x63, 0x74, 0x2f, 0x65, 0x62, 0x70, 0x66, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c,
+ 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ebpf_profiling_Profile_proto_rawDescOnce sync.Once
+ file_ebpf_profiling_Profile_proto_rawDescData = file_ebpf_profiling_Profile_proto_rawDesc
+)
+
+func file_ebpf_profiling_Profile_proto_rawDescGZIP() []byte {
+ file_ebpf_profiling_Profile_proto_rawDescOnce.Do(func() {
+ file_ebpf_profiling_Profile_proto_rawDescData = protoimpl.X.CompressGZIP(file_ebpf_profiling_Profile_proto_rawDescData)
+ })
+ return file_ebpf_profiling_Profile_proto_rawDescData
+}
+
+var file_ebpf_profiling_Profile_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ebpf_profiling_Profile_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
+var file_ebpf_profiling_Profile_proto_goTypes = []interface{}{
+ (EBPFProfilingStackType)(0), // 0: skywalking.v3.EBPFProfilingStackType
+ (*EBPFProfilingTaskQuery)(nil), // 1: skywalking.v3.EBPFProfilingTaskQuery
+ (*EBPFProfilingData)(nil), // 2: skywalking.v3.EBPFProfilingData
+ (*EBPFProfilingTaskMetadata)(nil), // 3: skywalking.v3.EBPFProfilingTaskMetadata
+ (*EBPFProfilingStackMetadata)(nil), // 4: skywalking.v3.EBPFProfilingStackMetadata
+ (*EBPFOnCPUProfiling)(nil), // 5: skywalking.v3.EBPFOnCPUProfiling
+ (*EBPFOffCPUProfiling)(nil), // 6: skywalking.v3.EBPFOffCPUProfiling
+ (*v3.Commands)(nil), // 7: skywalking.v3.Commands
+}
+var file_ebpf_profiling_Profile_proto_depIdxs = []int32{
+ 3, // 0: skywalking.v3.EBPFProfilingData.task:type_name -> skywalking.v3.EBPFProfilingTaskMetadata
+ 5, // 1: skywalking.v3.EBPFProfilingData.onCPU:type_name -> skywalking.v3.EBPFOnCPUProfiling
+ 6, // 2: skywalking.v3.EBPFProfilingData.offCPU:type_name -> skywalking.v3.EBPFOffCPUProfiling
+ 0, // 3: skywalking.v3.EBPFProfilingStackMetadata.stackType:type_name -> skywalking.v3.EBPFProfilingStackType
+ 4, // 4: skywalking.v3.EBPFOnCPUProfiling.stacks:type_name -> skywalking.v3.EBPFProfilingStackMetadata
+ 4, // 5: skywalking.v3.EBPFOffCPUProfiling.stacks:type_name -> skywalking.v3.EBPFProfilingStackMetadata
+ 1, // 6: skywalking.v3.EBPFProfilingService.queryTasks:input_type -> skywalking.v3.EBPFProfilingTaskQuery
+ 2, // 7: skywalking.v3.EBPFProfilingService.collectProfilingData:input_type -> skywalking.v3.EBPFProfilingData
+ 7, // 8: skywalking.v3.EBPFProfilingService.queryTasks:output_type -> skywalking.v3.Commands
+ 7, // 9: skywalking.v3.EBPFProfilingService.collectProfilingData:output_type -> skywalking.v3.Commands
+ 8, // [8:10] is the sub-list for method output_type
+ 6, // [6:8] is the sub-list for method input_type
+ 6, // [6:6] is the sub-list for extension type_name
+ 6, // [6:6] is the sub-list for extension extendee
+ 0, // [0:6] is the sub-list for field type_name
+}
+
+func init() { file_ebpf_profiling_Profile_proto_init() }
+func file_ebpf_profiling_Profile_proto_init() {
+ if File_ebpf_profiling_Profile_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ebpf_profiling_Profile_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFProfilingTaskQuery); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Profile_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFProfilingData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Profile_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFProfilingTaskMetadata); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Profile_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFProfilingStackMetadata); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Profile_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFOnCPUProfiling); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ebpf_profiling_Profile_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EBPFOffCPUProfiling); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_ebpf_profiling_Profile_proto_msgTypes[1].OneofWrappers = []interface{}{
+ (*EBPFProfilingData_OnCPU)(nil),
+ (*EBPFProfilingData_OffCPU)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ebpf_profiling_Profile_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 6,
+ NumExtensions: 0,
+ NumServices: 1,
+ },
+ GoTypes: file_ebpf_profiling_Profile_proto_goTypes,
+ DependencyIndexes: file_ebpf_profiling_Profile_proto_depIdxs,
+ EnumInfos: file_ebpf_profiling_Profile_proto_enumTypes,
+ MessageInfos: file_ebpf_profiling_Profile_proto_msgTypes,
+ }.Build()
+ File_ebpf_profiling_Profile_proto = out.File
+ file_ebpf_profiling_Profile_proto_rawDesc = nil
+ file_ebpf_profiling_Profile_proto_goTypes = nil
+ file_ebpf_profiling_Profile_proto_depIdxs = nil
+}
diff --git a/protocols/collect/ebpf/profiling/v3/Profile_grpc.pb.go b/protocols/collect/ebpf/profiling/v3/Profile_grpc.pb.go
new file mode 100644
index 0000000..48cad72
--- /dev/null
+++ b/protocols/collect/ebpf/profiling/v3/Profile_grpc.pb.go
@@ -0,0 +1,177 @@
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+
+package v3
+
+import (
+ context "context"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+ v3 "github.com/apache/skywalking-go/protocols/collect/common/v3"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+// EBPFProfilingServiceClient is the client API for EBPFProfilingService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type EBPFProfilingServiceClient interface {
+ // Query profiling (start or stop) tasks
+ QueryTasks(ctx context.Context, in *EBPFProfilingTaskQuery, opts ...grpc.CallOption) (*v3.Commands, error)
+ // collect profiling data
+ CollectProfilingData(ctx context.Context, opts ...grpc.CallOption) (EBPFProfilingService_CollectProfilingDataClient, error)
+}
+
+type eBPFProfilingServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewEBPFProfilingServiceClient(cc grpc.ClientConnInterface) EBPFProfilingServiceClient {
+ return &eBPFProfilingServiceClient{cc}
+}
+
+func (c *eBPFProfilingServiceClient) QueryTasks(ctx context.Context, in *EBPFProfilingTaskQuery, opts ...grpc.CallOption) (*v3.Commands, error) {
+ out := new(v3.Commands)
+ err := c.cc.Invoke(ctx, "/skywalking.v3.EBPFProfilingService/queryTasks", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *eBPFProfilingServiceClient) CollectProfilingData(ctx context.Context, opts ...grpc.CallOption) (EBPFProfilingService_CollectProfilingDataClient, error) {
+ stream, err := c.cc.NewStream(ctx, &EBPFProfilingService_ServiceDesc.Streams[0], "/skywalking.v3.EBPFProfilingService/collectProfilingData", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &eBPFProfilingServiceCollectProfilingDataClient{stream}
+ return x, nil
+}
+
+type EBPFProfilingService_CollectProfilingDataClient interface {
+ Send(*EBPFProfilingData) error
+ CloseAndRecv() (*v3.Commands, error)
+ grpc.ClientStream
+}
+
+type eBPFProfilingServiceCollectProfilingDataClient struct {
+ grpc.ClientStream
+}
+
+func (x *eBPFProfilingServiceCollectProfilingDataClient) Send(m *EBPFProfilingData) error {
+ return x.ClientStream.SendMsg(m)
+}
+
+func (x *eBPFProfilingServiceCollectProfilingDataClient) CloseAndRecv() (*v3.Commands, error) {
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ m := new(v3.Commands)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// EBPFProfilingServiceServer is the server API for EBPFProfilingService service.
+// All implementations must embed UnimplementedEBPFProfilingServiceServer
+// for forward compatibility
+type EBPFProfilingServiceServer interface {
+ // Query profiling (start or stop) tasks
+ QueryTasks(context.Context, *EBPFProfilingTaskQuery) (*v3.Commands, error)
+ // collect profiling data
+ CollectProfilingData(EBPFProfilingService_CollectProfilingDataServer) error
+ mustEmbedUnimplementedEBPFProfilingServiceServer()
+}
+
+// UnimplementedEBPFProfilingServiceServer must be embedded to have forward compatible implementations.
+type UnimplementedEBPFProfilingServiceServer struct {
+}
+
+func (UnimplementedEBPFProfilingServiceServer) QueryTasks(context.Context, *EBPFProfilingTaskQuery) (*v3.Commands, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method QueryTasks not implemented")
+}
+func (UnimplementedEBPFProfilingServiceServer) CollectProfilingData(EBPFProfilingService_CollectProfilingDataServer) error {
+ return status.Errorf(codes.Unimplemented, "method CollectProfilingData not implemented")
+}
+func (UnimplementedEBPFProfilingServiceServer) mustEmbedUnimplementedEBPFProfilingServiceServer() {}
+
+// UnsafeEBPFProfilingServiceServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to EBPFProfilingServiceServer will
+// result in compilation errors.
+type UnsafeEBPFProfilingServiceServer interface {
+ mustEmbedUnimplementedEBPFProfilingServiceServer()
+}
+
+func RegisterEBPFProfilingServiceServer(s grpc.ServiceRegistrar, srv EBPFProfilingServiceServer) {
+ s.RegisterService(&EBPFProfilingService_ServiceDesc, srv)
+}
+
+func _EBPFProfilingService_QueryTasks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(EBPFProfilingTaskQuery)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(EBPFProfilingServiceServer).QueryTasks(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/skywalking.v3.EBPFProfilingService/queryTasks",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(EBPFProfilingServiceServer).QueryTasks(ctx, req.(*EBPFProfilingTaskQuery))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _EBPFProfilingService_CollectProfilingData_Handler(srv interface{}, stream grpc.ServerStream) error {
+ return srv.(EBPFProfilingServiceServer).CollectProfilingData(&eBPFProfilingServiceCollectProfilingDataServer{stream})
+}
+
+type EBPFProfilingService_CollectProfilingDataServer interface {
+ SendAndClose(*v3.Commands) error
+ Recv() (*EBPFProfilingData, error)
+ grpc.ServerStream
+}
+
+type eBPFProfilingServiceCollectProfilingDataServer struct {
+ grpc.ServerStream
+}
+
+func (x *eBPFProfilingServiceCollectProfilingDataServer) SendAndClose(m *v3.Commands) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func (x *eBPFProfilingServiceCollectProfilingDataServer) Recv() (*EBPFProfilingData, error) {
+ m := new(EBPFProfilingData)
+ if err := x.ServerStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// EBPFProfilingService_ServiceDesc is the grpc.ServiceDesc for EBPFProfilingService service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var EBPFProfilingService_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "skywalking.v3.EBPFProfilingService",
+ HandlerType: (*EBPFProfilingServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "queryTasks",
+ Handler: _EBPFProfilingService_QueryTasks_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "collectProfilingData",
+ Handler: _EBPFProfilingService_CollectProfilingData_Handler,
+ ClientStreams: true,
+ },
+ },
+ Metadata: "ebpf/profiling/Profile.proto",
+}
diff --git a/protocols/collect/event/v3/Event.pb.go b/protocols/collect/event/v3/Event.pb.go
new file mode 100644
index 0000000..b8f1f8f
--- /dev/null
+++ b/protocols/collect/event/v3/Event.pb.go
@@ -0,0 +1,419 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: event/Event.proto
+
+package v3
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ v3 "github.com/apache/skywalking-go/protocols/collect/common/v3"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Type int32
+
+const (
+ Type_Normal Type = 0
+ Type_Error Type = 1
+)
+
+// Enum value maps for Type.
+var (
+ Type_name = map[int32]string{
+ 0: "Normal",
+ 1: "Error",
+ }
+ Type_value = map[string]int32{
+ "Normal": 0,
+ "Error": 1,
+ }
+)
+
+func (x Type) Enum() *Type {
+ p := new(Type)
+ *p = x
+ return p
+}
+
+func (x Type) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (Type) Descriptor() protoreflect.EnumDescriptor {
+ return file_event_Event_proto_enumTypes[0].Descriptor()
+}
+
+func (Type) Type() protoreflect.EnumType {
+ return &file_event_Event_proto_enumTypes[0]
+}
+
+func (x Type) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use Type.Descriptor instead.
+func (Type) EnumDescriptor() ([]byte, []int) {
+ return file_event_Event_proto_rawDescGZIP(), []int{0}
+}
+
+type Event struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Unique ID of the event. Because an event may span a long period of time, the UUID is necessary to associate the
+ // start time with the end time of the same event.
+ Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
+ // The source object that the event occurs on.
+ Source *Source `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
+ // The name of the event. For example, `Reboot`, `Upgrade` etc.
+ Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
+ // The type of the event. This field is friendly for UI visualization, where events of type `Normal` are considered as normal operations,
+ // while `Error` is considered as unexpected operations, such as `Crash` events, therefore we can mark them with different colors to be easier identified.
+ Type Type `protobuf:"varint,4,opt,name=type,proto3,enum=skywalking.v3.Type" json:"type,omitempty"`
+ // The detail of the event that describes why this event happened. This should be a one-line message that briefly describes why the event is reported.
+ // Examples of an `Upgrade` event may be something like `Upgrade from ${from_version} to ${to_version}`.
+ // It's NOT encouraged to include the detailed logs of this event, such as the exception stack trace.
+ Message string `protobuf:"bytes,5,opt,name=message,proto3" json:"message,omitempty"`
+ // The parameters in the `message` field.
+ Parameters map[string]string `protobuf:"bytes,6,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ // The start time (in milliseconds) of the event, measured between the current time and midnight, January 1, 1970 UTC.
+ // This field is mandatory when an event occurs.
+ StartTime int64 `protobuf:"varint,7,opt,name=startTime,proto3" json:"startTime,omitempty"`
+ // The end time (in milliseconds) of the event. , measured between the current time and midnight, January 1, 1970 UTC.
+ // This field may be empty if the event has not stopped yet, otherwise it should be a valid timestamp after `startTime`.
+ EndTime int64 `protobuf:"varint,8,opt,name=endTime,proto3" json:"endTime,omitempty"`
+ // [Required] Since 9.0.0
+ // Name of the layer to which the event belongs.
+ Layer string `protobuf:"bytes,9,opt,name=layer,proto3" json:"layer,omitempty"`
+}
+
+func (x *Event) Reset() {
+ *x = Event{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_event_Event_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Event) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Event) ProtoMessage() {}
+
+func (x *Event) ProtoReflect() protoreflect.Message {
+ mi := &file_event_Event_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Event.ProtoReflect.Descriptor instead.
+func (*Event) Descriptor() ([]byte, []int) {
+ return file_event_Event_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Event) GetUuid() string {
+ if x != nil {
+ return x.Uuid
+ }
+ return ""
+}
+
+func (x *Event) GetSource() *Source {
+ if x != nil {
+ return x.Source
+ }
+ return nil
+}
+
+func (x *Event) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *Event) GetType() Type {
+ if x != nil {
+ return x.Type
+ }
+ return Type_Normal
+}
+
+func (x *Event) GetMessage() string {
+ if x != nil {
+ return x.Message
+ }
+ return ""
+}
+
+func (x *Event) GetParameters() map[string]string {
+ if x != nil {
+ return x.Parameters
+ }
+ return nil
+}
+
+func (x *Event) GetStartTime() int64 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+func (x *Event) GetEndTime() int64 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *Event) GetLayer() string {
+ if x != nil {
+ return x.Layer
+ }
+ return ""
+}
+
+// If the event occurs on a service ONLY, the `service` field is mandatory, the serviceInstance field and endpoint field are optional;
+// If the event occurs on a service instance, the `service` and `serviceInstance` are mandatory and endpoint is optional;
+// If the event occurs on an endpoint, `service` and `endpoint` are mandatory, `serviceInstance` is optional;
+type Source struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"`
+ ServiceInstance string `protobuf:"bytes,2,opt,name=serviceInstance,proto3" json:"serviceInstance,omitempty"`
+ Endpoint string `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
+}
+
+func (x *Source) Reset() {
+ *x = Source{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_event_Event_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Source) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Source) ProtoMessage() {}
+
+func (x *Source) ProtoReflect() protoreflect.Message {
+ mi := &file_event_Event_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Source.ProtoReflect.Descriptor instead.
+func (*Source) Descriptor() ([]byte, []int) {
+ return file_event_Event_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *Source) GetService() string {
+ if x != nil {
+ return x.Service
+ }
+ return ""
+}
+
+func (x *Source) GetServiceInstance() string {
+ if x != nil {
+ return x.ServiceInstance
+ }
+ return ""
+}
+
+func (x *Source) GetEndpoint() string {
+ if x != nil {
+ return x.Endpoint
+ }
+ return ""
+}
+
+var File_event_Event_proto protoreflect.FileDescriptor
+
+var file_event_Event_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x33, 0x1a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x43, 0x6f, 0x6d, 0x6d, 0x61,
+ 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf4, 0x02, 0x0a, 0x05, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79,
+ 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x44, 0x0a, 0x0a,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x24, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33,
+ 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
+ 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
+ 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
+ 0x68, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72,
+ 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76,
+ 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e,
+ 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65,
+ 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a,
+ 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2a, 0x1d, 0x0a, 0x04, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x00, 0x12, 0x09, 0x0a,
+ 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x32, 0x4c, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e,
+ 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x6c,
+ 0x65, 0x63, 0x74, 0x12, 0x14, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0x17, 0x2e, 0x73, 0x6b, 0x79, 0x77,
+ 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
+ 0x64, 0x73, 0x22, 0x00, 0x28, 0x01, 0x42, 0x81, 0x01, 0x0a, 0x2a, 0x6f, 0x72, 0x67, 0x2e, 0x61,
+ 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x76, 0x65,
+ 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x50, 0x01, 0x5a, 0x31, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x72,
+ 0x65, 0x70, 0x6f, 0x2f, 0x67, 0x6f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
+ 0x74, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0xaa, 0x02, 0x1d, 0x53, 0x6b, 0x79,
+ 0x57, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50,
+ 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_event_Event_proto_rawDescOnce sync.Once
+ file_event_Event_proto_rawDescData = file_event_Event_proto_rawDesc
+)
+
+func file_event_Event_proto_rawDescGZIP() []byte {
+ file_event_Event_proto_rawDescOnce.Do(func() {
+ file_event_Event_proto_rawDescData = protoimpl.X.CompressGZIP(file_event_Event_proto_rawDescData)
+ })
+ return file_event_Event_proto_rawDescData
+}
+
+var file_event_Event_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_event_Event_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_event_Event_proto_goTypes = []interface{}{
+ (Type)(0), // 0: skywalking.v3.Type
+ (*Event)(nil), // 1: skywalking.v3.Event
+ (*Source)(nil), // 2: skywalking.v3.Source
+ nil, // 3: skywalking.v3.Event.ParametersEntry
+ (*v3.Commands)(nil), // 4: skywalking.v3.Commands
+}
+var file_event_Event_proto_depIdxs = []int32{
+ 2, // 0: skywalking.v3.Event.source:type_name -> skywalking.v3.Source
+ 0, // 1: skywalking.v3.Event.type:type_name -> skywalking.v3.Type
+ 3, // 2: skywalking.v3.Event.parameters:type_name -> skywalking.v3.Event.ParametersEntry
+ 1, // 3: skywalking.v3.EventService.collect:input_type -> skywalking.v3.Event
+ 4, // 4: skywalking.v3.EventService.collect:output_type -> skywalking.v3.Commands
+ 4, // [4:5] is the sub-list for method output_type
+ 3, // [3:4] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_event_Event_proto_init() }
+func file_event_Event_proto_init() {
+ if File_event_Event_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_event_Event_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Event); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_event_Event_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Source); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_event_Event_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 1,
+ },
+ GoTypes: file_event_Event_proto_goTypes,
+ DependencyIndexes: file_event_Event_proto_depIdxs,
+ EnumInfos: file_event_Event_proto_enumTypes,
+ MessageInfos: file_event_Event_proto_msgTypes,
+ }.Build()
+ File_event_Event_proto = out.File
+ file_event_Event_proto_rawDesc = nil
+ file_event_Event_proto_goTypes = nil
+ file_event_Event_proto_depIdxs = nil
+}
diff --git a/protocols/collect/event/v3/Event_grpc.pb.go b/protocols/collect/event/v3/Event_grpc.pb.go
new file mode 100644
index 0000000..3c23d2c
--- /dev/null
+++ b/protocols/collect/event/v3/Event_grpc.pb.go
@@ -0,0 +1,142 @@
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+
+package v3
+
+import (
+ context "context"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+ v3 "github.com/apache/skywalking-go/protocols/collect/common/v3"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+// EventServiceClient is the client API for EventService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type EventServiceClient interface {
+ // When reporting an event, you typically call the collect function twice, one for starting of the event and the other one for ending of the event, with the same UUID.
+ // There are also cases where you have both start time and end time already, for example, when exporting events from a 3rd-party system,
+ // the start time and end time are already known so that you can call the collect function only once.
+ Collect(ctx context.Context, opts ...grpc.CallOption) (EventService_CollectClient, error)
+}
+
+type eventServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewEventServiceClient(cc grpc.ClientConnInterface) EventServiceClient {
+ return &eventServiceClient{cc}
+}
+
+func (c *eventServiceClient) Collect(ctx context.Context, opts ...grpc.CallOption) (EventService_CollectClient, error) {
+ stream, err := c.cc.NewStream(ctx, &EventService_ServiceDesc.Streams[0], "/skywalking.v3.EventService/collect", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &eventServiceCollectClient{stream}
+ return x, nil
+}
+
+type EventService_CollectClient interface {
+ Send(*Event) error
+ CloseAndRecv() (*v3.Commands, error)
+ grpc.ClientStream
+}
+
+type eventServiceCollectClient struct {
+ grpc.ClientStream
+}
+
+func (x *eventServiceCollectClient) Send(m *Event) error {
+ return x.ClientStream.SendMsg(m)
+}
+
+func (x *eventServiceCollectClient) CloseAndRecv() (*v3.Commands, error) {
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ m := new(v3.Commands)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// EventServiceServer is the server API for EventService service.
+// All implementations must embed UnimplementedEventServiceServer
+// for forward compatibility
+type EventServiceServer interface {
+ // When reporting an event, you typically call the collect function twice, one for starting of the event and the other one for ending of the event, with the same UUID.
+ // There are also cases where you have both start time and end time already, for example, when exporting events from a 3rd-party system,
+ // the start time and end time are already known so that you can call the collect function only once.
+ Collect(EventService_CollectServer) error
+ mustEmbedUnimplementedEventServiceServer()
+}
+
+// UnimplementedEventServiceServer must be embedded to have forward compatible implementations.
+type UnimplementedEventServiceServer struct {
+}
+
+func (UnimplementedEventServiceServer) Collect(EventService_CollectServer) error {
+ return status.Errorf(codes.Unimplemented, "method Collect not implemented")
+}
+func (UnimplementedEventServiceServer) mustEmbedUnimplementedEventServiceServer() {}
+
+// UnsafeEventServiceServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to EventServiceServer will
+// result in compilation errors.
+type UnsafeEventServiceServer interface {
+ mustEmbedUnimplementedEventServiceServer()
+}
+
+func RegisterEventServiceServer(s grpc.ServiceRegistrar, srv EventServiceServer) {
+ s.RegisterService(&EventService_ServiceDesc, srv)
+}
+
+func _EventService_Collect_Handler(srv interface{}, stream grpc.ServerStream) error {
+ return srv.(EventServiceServer).Collect(&eventServiceCollectServer{stream})
+}
+
+type EventService_CollectServer interface {
+ SendAndClose(*v3.Commands) error
+ Recv() (*Event, error)
+ grpc.ServerStream
+}
+
+type eventServiceCollectServer struct {
+ grpc.ServerStream
+}
+
+func (x *eventServiceCollectServer) SendAndClose(m *v3.Commands) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func (x *eventServiceCollectServer) Recv() (*Event, error) {
+ m := new(Event)
+ if err := x.ServerStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// EventService_ServiceDesc is the grpc.ServiceDesc for EventService service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var EventService_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "skywalking.v3.EventService",
+ HandlerType: (*EventServiceServer)(nil),
+ Methods: []grpc.MethodDesc{},
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "collect",
+ Handler: _EventService_Collect_Handler,
+ ClientStreams: true,
+ },
+ },
+ Metadata: "event/Event.proto",
+}
diff --git a/protocols/collect/language/agent/v3/BrowserPerf.pb.go b/protocols/collect/language/agent/v3/BrowserPerf.pb.go
new file mode 100644
index 0000000..a489148
--- /dev/null
+++ b/protocols/collect/language/agent/v3/BrowserPerf.pb.go
@@ -0,0 +1,1040 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
... 12981 lines suppressed ...