#include <optional>
#include "perfetto/ext/base/string_utils.h"
#include "perfetto/ext/base/string_view.h"
#include "src/trace_processor/importers/common/args_translation_table.h"
namespace perfetto {
namespace trace_processor {
namespace {
std::string ExtractMojoMethod(const std::string& method_symbol) { … }
std::string ExtractMojoInterfaceTag(const std::string& method_symbol) { … }
}
ArgsTranslationTable::ArgsTranslationTable(TraceStorage* storage)
: … { … }
bool ArgsTranslationTable::NeedsTranslation(StringId flat_key_id,
StringId key_id,
Variadic::Type type) const { … }
void ArgsTranslationTable::TranslateArgs(
const ArgsTracker::CompactArgSet& arg_set,
ArgsTracker::BoundInserter& inserter) const { … }
std::optional<ArgsTranslationTable::KeyType>
ArgsTranslationTable::KeyIdAndTypeToEnum(StringId flat_key_id,
StringId key_id,
Variadic::Type type) const { … }
std::optional<base::StringView>
ArgsTranslationTable::TranslateChromeHistogramHash(uint64_t hash) const { … }
std::optional<base::StringView>
ArgsTranslationTable::TranslateChromeUserEventHash(uint64_t hash) const { … }
std::optional<base::StringView>
ArgsTranslationTable::TranslateChromePerformanceMarkSiteHash(
uint64_t hash) const { … }
std::optional<base::StringView>
ArgsTranslationTable::TranslateChromePerformanceMarkMarkHash(
uint64_t hash) const { … }
std::optional<ArgsTranslationTable::SourceLocation>
ArgsTranslationTable::TranslateNativeSymbol(MappingId mapping_id,
uint64_t rel_pc) const { … }
std::optional<StringId> ArgsTranslationTable::TranslateClassName(
StringId obfuscated_class_name_id) const { … }
void ArgsTranslationTable::EmitMojoMethodLocation(
std::optional<uint64_t> mapping_id,
std::optional<uint64_t> rel_pc,
ArgsTracker::BoundInserter& inserter) const { … }
}
}