#ifndef SERVICES_TRACING_PUBLIC_CPP_PERFETTO_PERFETTO_CONFIG_H_
#define SERVICES_TRACING_PUBLIC_CPP_PERFETTO_PERFETTO_CONFIG_H_
#include <set>
#include <string>
#include "base/component_export.h"
#include "third_party/perfetto/include/perfetto/tracing/core/chrome_config.h"
#include "third_party/perfetto/include/perfetto/tracing/core/trace_config.h"
namespace base {
namespace trace_event {
class TraceConfig;
}
}
namespace tracing {
perfetto::TraceConfig COMPONENT_EXPORT(TRACING_CPP) GetDefaultPerfettoConfig(
const base::trace_event::TraceConfig& chrome_config,
bool privacy_filtering_enabled = false,
bool convert_to_legacy_json = false,
perfetto::protos::gen::ChromeConfig::ClientPriority =
perfetto::protos::gen::ChromeConfig::USER_INITIATED,
const std::string& json_agent_label_filter = "");
perfetto::TraceConfig COMPONENT_EXPORT(TRACING_CPP)
GetPerfettoConfigWithDataSources(
const base::trace_event::TraceConfig& chrome_config,
const std::set<std::string>& source_names,
bool privacy_filtering_enabled = false,
bool convert_to_legacy_json = false,
perfetto::protos::gen::ChromeConfig::ClientPriority =
perfetto::protos::gen::ChromeConfig::USER_INITIATED,
const std::string& json_agent_label_filter = "");
bool COMPONENT_EXPORT(TRACING_CPP) AdaptPerfettoConfigForChrome(
perfetto::TraceConfig* perfetto_config,
bool privacy_filtering_enabled = false,
bool enable_package_name_filter = false,
perfetto::protos::gen::ChromeConfig::ClientPriority =
perfetto::protos::gen::ChromeConfig::USER_INITIATED);
}
#endif