blob: 30227d3b566aa2e444c7a5d9563b88c599e2d610 [file] [log] [blame]
syntax = "proto3";
package cast.metrics;
import "google/protobuf/empty.proto";
option optimize_for = LITE_RUNTIME;
service MetricsRecorderService {
// Record a set of|Event|
rpc Record(RecordRequest) returns (google.protobuf.Empty);
}
message RecordRequest {
repeated Event event = 1;
}
// This repliciates the Fuchsia approach to Cast metrics; for documentation on
// event structure, refer to
// fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.legacymetrics/event.fidl
message Event {
oneof event_type {
UserActionEvent user_action_event = 1;
Histogram histogram = 2;
ImplementationDefinedEvent impl_defined_event = 3;
}
}
message UserActionEvent {
string name = 1;
optional int64 time = 2;
}
message Histogram {
string name = 1;
repeated HistogramBucket bucket = 2;
int64 sum = 3;
}
message HistogramBucket {
int64 min = 1;
int64 max = 2;
int64 count = 3;
}
message ImplementationDefinedEvent {
bytes data = 1;
optional string name = 2;
}