snapshot of https://github.com/grpc/grpc-go.git (master, 2026-09-15; blobs > 131072B omitted)
Some checks failed
codecov / upload (push) Failing after 13m59s
CodeQL / Analyze (push) Failing after 1s
Lock Threads / lock (push) Failing after 1s
govulncheck / govulncheck (.) (push) Failing after 1s
govulncheck / govulncheck (./cmd/protoc-gen-go-grpc) (push) Failing after 1s
govulncheck / govulncheck (./gcp/observability) (push) Failing after 1s
govulncheck / govulncheck (./security/advancedtls) (push) Failing after 1s
govulncheck / govulncheck (./stats/opencensus) (push) Failing after 1s
Testing / tests (arm, latest) (push) Waiting to run
Testing / vet-proto (push) Failing after 1s
Testing / extras (latest) (push) Failing after 1s
Testing / static checks (latest-1) (push) Failing after 1s
Testing / tests (-race, latest) (push) Failing after 1s
Testing / tests (i386, latest) (push) Failing after 1s
Testing / tests (latest) (push) Failing after 1s
Testing / tests (latest-1) (push) Failing after 1s
Stale bot / stale (push) Failing after 1s
Some checks failed
codecov / upload (push) Failing after 13m59s
CodeQL / Analyze (push) Failing after 1s
Lock Threads / lock (push) Failing after 1s
govulncheck / govulncheck (.) (push) Failing after 1s
govulncheck / govulncheck (./cmd/protoc-gen-go-grpc) (push) Failing after 1s
govulncheck / govulncheck (./gcp/observability) (push) Failing after 1s
govulncheck / govulncheck (./security/advancedtls) (push) Failing after 1s
govulncheck / govulncheck (./stats/opencensus) (push) Failing after 1s
Testing / tests (arm, latest) (push) Waiting to run
Testing / vet-proto (push) Failing after 1s
Testing / extras (latest) (push) Failing after 1s
Testing / static checks (latest-1) (push) Failing after 1s
Testing / tests (-race, latest) (push) Failing after 1s
Testing / tests (i386, latest) (push) Failing after 1s
Testing / tests (latest) (push) Failing after 1s
Testing / tests (latest-1) (push) Failing after 1s
Stale bot / stale (push) Failing after 1s
This commit is contained in:
98
profiling/proto/service.proto
Normal file
98
profiling/proto/service.proto
Normal file
@@ -0,0 +1,98 @@
|
||||
// Copyright 2019 gRPC authors.
|
||||
//
|
||||
// Licensed 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.
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
package grpc.go.profiling.v1alpha;
|
||||
|
||||
// This package defines the proto messages and RPC services exposed by gRPC for
|
||||
// profiling management. A reference client implementation to interact with
|
||||
// this service is provided as a command-line application. This service can be
|
||||
// used to toggle profiling on and off and retrieve stats from a gRPC
|
||||
// application.
|
||||
option go_package = "google.golang.org/grpc/profiling/proto";
|
||||
|
||||
// EnableRequest defines the fields in a /Profiling/Enable method request to
|
||||
// toggle profiling on and off within a gRPC program.
|
||||
message EnableRequest {
|
||||
// Setting this to true will enable profiling. Setting this to false will
|
||||
// disable profiling.
|
||||
bool enabled = 1;
|
||||
}
|
||||
|
||||
// EnableResponse defines the fields in a /Profiling/Enable method response.
|
||||
message EnableResponse {
|
||||
}
|
||||
|
||||
// GetStreamStatsRequest defines the fields in a /Profiling/GetStreamStats
|
||||
// method request to retrieve stream-level stats in a gRPC client/server.
|
||||
message GetStreamStatsRequest {
|
||||
}
|
||||
|
||||
// GetStreamStatsResponse defines the fields in a /Profiling/GetStreamStats
|
||||
// method response.
|
||||
message GetStreamStatsResponse {
|
||||
repeated Stat stream_stats = 1;
|
||||
}
|
||||
|
||||
// A Timer measures the start and end of execution of a component within
|
||||
// gRPC that's being profiled. It includes a tag and some additional metadata
|
||||
// to identify itself.
|
||||
message Timer {
|
||||
// tags is a comma-separated list of strings used to tag a timer.
|
||||
string tags = 1;
|
||||
|
||||
// begin_sec and begin_nsec are the start epoch second and nanosecond,
|
||||
// respectively, of the component profiled by this timer in UTC. begin_nsec
|
||||
// must be a non-negative integer.
|
||||
int64 begin_sec = 2;
|
||||
int32 begin_nsec = 3;
|
||||
|
||||
// end_sec and end_nsec are the end epoch second and nanosecond,
|
||||
// respectively, of the component profiled by this timer in UTC. end_nsec
|
||||
// must be a non-negative integer.
|
||||
int64 end_sec = 4;
|
||||
int32 end_nsec = 5;
|
||||
|
||||
// go_id is the goroutine ID of the component being profiled.
|
||||
int64 go_id = 6;
|
||||
}
|
||||
|
||||
// A Stat is a collection of Timers along with some additional
|
||||
// metadata to tag and identify itself.
|
||||
message Stat {
|
||||
// tags is a comma-separated list of strings used to categorize a stat.
|
||||
string tags = 1;
|
||||
|
||||
// timers is an array of Timers, each representing a different
|
||||
// (but possibly overlapping) component within this stat.
|
||||
repeated Timer timers = 2;
|
||||
|
||||
// metadata is an array of bytes used to uniquely identify a stat with an
|
||||
// undefined encoding format. For example, the Stats returned by the
|
||||
// /Profiling/GetStreamStats service use the metadata field to encode the
|
||||
// connection ID and the stream ID of each query.
|
||||
bytes metadata = 3;
|
||||
}
|
||||
|
||||
// The Profiling service exposes functions to remotely manage the gRPC
|
||||
// profiling behaviour in a program.
|
||||
service Profiling {
|
||||
// Enable allows users to toggle profiling on and off remotely.
|
||||
rpc Enable (EnableRequest) returns (EnableResponse);
|
||||
|
||||
// GetStreamStats is used to retrieve an array of stream-level stats from a
|
||||
// gRPC client/server.
|
||||
rpc GetStreamStats (GetStreamStatsRequest) returns (GetStreamStatsResponse);
|
||||
}
|
||||
Reference in New Issue
Block a user