diff options
Diffstat (limited to 'pw_trace_tokenized/pw_trace_protos/trace_service.proto')
-rw-r--r-- | pw_trace_tokenized/pw_trace_protos/trace_service.proto | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/pw_trace_tokenized/pw_trace_protos/trace_service.proto b/pw_trace_tokenized/pw_trace_protos/trace_service.proto new file mode 100644 index 000000000..62be6fe9b --- /dev/null +++ b/pw_trace_tokenized/pw_trace_protos/trace_service.proto @@ -0,0 +1,53 @@ +// Copyright 2023 The Pigweed 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 +// +// https://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 pw.trace.proto; + +import "pw_chrono_protos/chrono.proto"; + +// TODO: b/309643763 - This is the prefered service for tracing, and the service +// defined in trace_rpc.proto has been deprecated and will be removed once +// existings clients migrate to this service. +service TraceService { + // Start will enable tracing, populating the trace ring buffer. + rpc Start(StartRequest) returns (StartResponse) {} + + // On stop the ring buffer will be written to the configured + // stream. No data is written to the stream until Stop is called. + rpc Stop(StopRequest) returns (StopResponse) {} + + // Returns the clock paramaters of the system. + rpc GetClockParameters(ClockParametersRequest) + returns (ClockParametersResponse) {} +} + +message StartRequest {} + +message StartResponse {} + +message StopRequest {} + +message StopResponse { + // as a convenience, the file id is returned on stop which can be + // used to start a transfer directly, rather that requiring a user + // list the files to obtain the file id. + optional uint32 file_id = 1; +} + +message ClockParametersRequest {} + +message ClockParametersResponse { + pw.chrono.ClockParameters clock_parameters = 1; +} |