#include "content/browser/tracing/background_tracing_config_impl.h"
#include <set>
#include <utility>
#include "base/json/json_reader.h"
#include "base/metrics/histogram_macros.h"
#include "base/process/process_handle.h"
#include "base/system/sys_info.h"
#include "base/values.h"
#include "build/build_config.h"
#include "content/browser/tracing/background_tracing_rule.h"
#include "net/base/network_change_notifier.h"
#include "services/tracing/public/cpp/trace_startup_config.h"
TraceConfig;
namespace content {
namespace {
const char kConfigsKey[] = …;
const char kConfigModeKey[] = …;
const char kConfigModePreemptive[] = …;
const char kConfigModeReactive[] = …;
const char kConfigModeSystem[] = …;
const char kConfigScenarioName[] = …;
const char kEnabledDataSourcesKey[] = …;
const char kConfigCategoryKey[] = …;
const char kConfigCustomCategoriesKey[] = …;
const char kConfigTraceConfigKey[] = …;
const char kConfigCategoryBenchmarkStartup[] = …;
const char kConfigCategoryCustom[] = …;
const char kConfigCustomConfig[] = …;
const char kConfigLowRamBufferSizeKb[] = …;
const char kConfigMediumRamBufferSizeKb[] = …;
const char kConfigMobileNetworkBuferSizeKb[] = …;
const char kConfigMaxBufferSizeKb[] = …;
const char kConfigUploadLimitKb[] = …;
const char kConfigUploadLimitNetworkKb[] = …;
const char kConfigInterningResetIntervalMs[] = …;
}
BackgroundTracingConfigImpl::BackgroundTracingConfigImpl(
TracingMode tracing_mode)
: … { … }
BackgroundTracingConfigImpl::~BackgroundTracingConfigImpl() = default;
std::string BackgroundTracingConfigImpl::CategoryPresetToString(
BackgroundTracingConfigImpl::CategoryPreset category_preset) { … }
bool BackgroundTracingConfigImpl::StringToCategoryPreset(
const std::string& category_preset_string,
BackgroundTracingConfigImpl::CategoryPreset* category_preset) { … }
base::Value::Dict BackgroundTracingConfigImpl::ToDict() { … }
void BackgroundTracingConfigImpl::SetPackageNameFilteringEnabled(bool enabled) { … }
void BackgroundTracingConfigImpl::AddPreemptiveRule(
const base::Value::Dict& dict) { … }
void BackgroundTracingConfigImpl::AddReactiveRule(
const base::Value::Dict& dict) { … }
void BackgroundTracingConfigImpl::AddSystemRule(const base::Value::Dict& dict) { … }
TraceConfig BackgroundTracingConfigImpl::GetTraceConfig() const { … }
std::unique_ptr<BackgroundTracingConfigImpl>
BackgroundTracingConfigImpl::FromDict(base::Value::Dict&& dict) { … }
std::unique_ptr<BackgroundTracingConfigImpl>
BackgroundTracingConfigImpl::PreemptiveFromDict(const base::Value::Dict& dict) { … }
std::unique_ptr<BackgroundTracingConfigImpl>
BackgroundTracingConfigImpl::ReactiveFromDict(const base::Value::Dict& dict) { … }
std::unique_ptr<BackgroundTracingConfigImpl>
BackgroundTracingConfigImpl::SystemFromDict(const base::Value::Dict& dict) { … }
BackgroundTracingRule* BackgroundTracingConfigImpl::AddRule(
const base::Value::Dict& dict) { … }
void BackgroundTracingConfigImpl::SetBufferSizeLimits(
const base::Value::Dict* dict) { … }
int BackgroundTracingConfigImpl::GetMaximumTraceBufferSizeKb() const { … }
}