blob: 6414f5139843b769937a201b103f282651128cb6 [file] [log] [blame]
/*
* Copyright (C) 2017 The Android Open Source Project
*
* 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 = "proto2";
option optimize_for = LITE_RUNTIME;
package perfetto.protos;
// When editing this file run ./tools/gen_tracing_cpp_headers_from_protos.py
// to reflect changes in the corresponding C++ headers.
// This message is sent from Producer(s) to the tracing Service when registering
// to advertise their capabilities. It describes the structure of tracing
// protos that will be produced by the data source and the supported filters.
message DataSourceDescriptor {
optional string name = 1; // e.g., "linux.ftrace", "chromium.tracing"
// When true the data source is expected to ack the stop request through the
// NotifyDataSourceStopped() IPC. This field has been introduced after
// Android P in Jul 2018 and is not supported on older versions.
optional bool will_notify_on_stop = 2;
// When true the data source is expected to ack the start request through the
// NotifyDataSourceStarted() IPC. This field has been introduced after
// Android P in March 2019 and is not supported on older versions.
optional bool will_notify_on_start = 3;
// TODO: this should have a structure to enable reflection of the proto
// fields emitted (see go/perfetto-logging).
}