普通文本  |  403行  |  15.93 KB

/*
 * 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.
 */

/*******************************************************************************
 * AUTOGENERATED - DO NOT EDIT
 *******************************************************************************
 * This file has been generated from the protobuf message
 * perfetto/common/trace_stats.proto
 * by
 * ../../tools/proto_to_cpp/proto_to_cpp.cc.
 * If you need to make changes here, change the .proto file and then run
 * ./tools/gen_tracing_cpp_headers_from_protos
 */

#include "perfetto/tracing/core/trace_stats.h"

#include "perfetto/common/trace_stats.pb.h"

namespace perfetto {

TraceStats::TraceStats() = default;
TraceStats::~TraceStats() = default;
TraceStats::TraceStats(const TraceStats&) = default;
TraceStats& TraceStats::operator=(const TraceStats&) = default;
TraceStats::TraceStats(TraceStats&&) noexcept = default;
TraceStats& TraceStats::operator=(TraceStats&&) = default;

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wfloat-equal"
bool TraceStats::operator==(const TraceStats& other) const {
  return (buffer_stats_ == other.buffer_stats_) &&
         (producers_connected_ == other.producers_connected_) &&
         (producers_seen_ == other.producers_seen_) &&
         (data_sources_registered_ == other.data_sources_registered_) &&
         (data_sources_seen_ == other.data_sources_seen_) &&
         (tracing_sessions_ == other.tracing_sessions_) &&
         (total_buffers_ == other.total_buffers_) &&
         (chunks_discarded_ == other.chunks_discarded_) &&
         (patches_discarded_ == other.patches_discarded_);
}
#pragma GCC diagnostic pop

void TraceStats::FromProto(const perfetto::protos::TraceStats& proto) {
  buffer_stats_.clear();
  for (const auto& field : proto.buffer_stats()) {
    buffer_stats_.emplace_back();
    buffer_stats_.back().FromProto(field);
  }

  static_assert(
      sizeof(producers_connected_) == sizeof(proto.producers_connected()),
      "size mismatch");
  producers_connected_ =
      static_cast<decltype(producers_connected_)>(proto.producers_connected());

  static_assert(sizeof(producers_seen_) == sizeof(proto.producers_seen()),
                "size mismatch");
  producers_seen_ =
      static_cast<decltype(producers_seen_)>(proto.producers_seen());

  static_assert(sizeof(data_sources_registered_) ==
                    sizeof(proto.data_sources_registered()),
                "size mismatch");
  data_sources_registered_ = static_cast<decltype(data_sources_registered_)>(
      proto.data_sources_registered());

  static_assert(sizeof(data_sources_seen_) == sizeof(proto.data_sources_seen()),
                "size mismatch");
  data_sources_seen_ =
      static_cast<decltype(data_sources_seen_)>(proto.data_sources_seen());

  static_assert(sizeof(tracing_sessions_) == sizeof(proto.tracing_sessions()),
                "size mismatch");
  tracing_sessions_ =
      static_cast<decltype(tracing_sessions_)>(proto.tracing_sessions());

  static_assert(sizeof(total_buffers_) == sizeof(proto.total_buffers()),
                "size mismatch");
  total_buffers_ = static_cast<decltype(total_buffers_)>(proto.total_buffers());

  static_assert(sizeof(chunks_discarded_) == sizeof(proto.chunks_discarded()),
                "size mismatch");
  chunks_discarded_ =
      static_cast<decltype(chunks_discarded_)>(proto.chunks_discarded());

  static_assert(sizeof(patches_discarded_) == sizeof(proto.patches_discarded()),
                "size mismatch");
  patches_discarded_ =
      static_cast<decltype(patches_discarded_)>(proto.patches_discarded());
  unknown_fields_ = proto.unknown_fields();
}

void TraceStats::ToProto(perfetto::protos::TraceStats* proto) const {
  proto->Clear();

  for (const auto& it : buffer_stats_) {
    auto* entry = proto->add_buffer_stats();
    it.ToProto(entry);
  }

  static_assert(
      sizeof(producers_connected_) == sizeof(proto->producers_connected()),
      "size mismatch");
  proto->set_producers_connected(
      static_cast<decltype(proto->producers_connected())>(
          producers_connected_));

  static_assert(sizeof(producers_seen_) == sizeof(proto->producers_seen()),
                "size mismatch");
  proto->set_producers_seen(
      static_cast<decltype(proto->producers_seen())>(producers_seen_));

  static_assert(sizeof(data_sources_registered_) ==
                    sizeof(proto->data_sources_registered()),
                "size mismatch");
  proto->set_data_sources_registered(
      static_cast<decltype(proto->data_sources_registered())>(
          data_sources_registered_));

  static_assert(
      sizeof(data_sources_seen_) == sizeof(proto->data_sources_seen()),
      "size mismatch");
  proto->set_data_sources_seen(
      static_cast<decltype(proto->data_sources_seen())>(data_sources_seen_));

  static_assert(sizeof(tracing_sessions_) == sizeof(proto->tracing_sessions()),
                "size mismatch");
  proto->set_tracing_sessions(
      static_cast<decltype(proto->tracing_sessions())>(tracing_sessions_));

  static_assert(sizeof(total_buffers_) == sizeof(proto->total_buffers()),
                "size mismatch");
  proto->set_total_buffers(
      static_cast<decltype(proto->total_buffers())>(total_buffers_));

  static_assert(sizeof(chunks_discarded_) == sizeof(proto->chunks_discarded()),
                "size mismatch");
  proto->set_chunks_discarded(
      static_cast<decltype(proto->chunks_discarded())>(chunks_discarded_));

  static_assert(
      sizeof(patches_discarded_) == sizeof(proto->patches_discarded()),
      "size mismatch");
  proto->set_patches_discarded(
      static_cast<decltype(proto->patches_discarded())>(patches_discarded_));
  *(proto->mutable_unknown_fields()) = unknown_fields_;
}

TraceStats::BufferStats::BufferStats() = default;
TraceStats::BufferStats::~BufferStats() = default;
TraceStats::BufferStats::BufferStats(const TraceStats::BufferStats&) = default;
TraceStats::BufferStats& TraceStats::BufferStats::operator=(
    const TraceStats::BufferStats&) = default;
TraceStats::BufferStats::BufferStats(TraceStats::BufferStats&&) noexcept =
    default;
TraceStats::BufferStats& TraceStats::BufferStats::operator=(
    TraceStats::BufferStats&&) = default;

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wfloat-equal"
bool TraceStats::BufferStats::operator==(
    const TraceStats::BufferStats& other) const {
  return (buffer_size_ == other.buffer_size_) &&
         (bytes_written_ == other.bytes_written_) &&
         (bytes_overwritten_ == other.bytes_overwritten_) &&
         (bytes_read_ == other.bytes_read_) &&
         (padding_bytes_written_ == other.padding_bytes_written_) &&
         (padding_bytes_cleared_ == other.padding_bytes_cleared_) &&
         (chunks_written_ == other.chunks_written_) &&
         (chunks_rewritten_ == other.chunks_rewritten_) &&
         (chunks_overwritten_ == other.chunks_overwritten_) &&
         (chunks_discarded_ == other.chunks_discarded_) &&
         (chunks_read_ == other.chunks_read_) &&
         (chunks_committed_out_of_order_ ==
          other.chunks_committed_out_of_order_) &&
         (write_wrap_count_ == other.write_wrap_count_) &&
         (patches_succeeded_ == other.patches_succeeded_) &&
         (patches_failed_ == other.patches_failed_) &&
         (readaheads_succeeded_ == other.readaheads_succeeded_) &&
         (readaheads_failed_ == other.readaheads_failed_) &&
         (abi_violations_ == other.abi_violations_);
}
#pragma GCC diagnostic pop

void TraceStats::BufferStats::FromProto(
    const perfetto::protos::TraceStats_BufferStats& proto) {
  static_assert(sizeof(buffer_size_) == sizeof(proto.buffer_size()),
                "size mismatch");
  buffer_size_ = static_cast<decltype(buffer_size_)>(proto.buffer_size());

  static_assert(sizeof(bytes_written_) == sizeof(proto.bytes_written()),
                "size mismatch");
  bytes_written_ = static_cast<decltype(bytes_written_)>(proto.bytes_written());

  static_assert(sizeof(bytes_overwritten_) == sizeof(proto.bytes_overwritten()),
                "size mismatch");
  bytes_overwritten_ =
      static_cast<decltype(bytes_overwritten_)>(proto.bytes_overwritten());

  static_assert(sizeof(bytes_read_) == sizeof(proto.bytes_read()),
                "size mismatch");
  bytes_read_ = static_cast<decltype(bytes_read_)>(proto.bytes_read());

  static_assert(
      sizeof(padding_bytes_written_) == sizeof(proto.padding_bytes_written()),
      "size mismatch");
  padding_bytes_written_ = static_cast<decltype(padding_bytes_written_)>(
      proto.padding_bytes_written());

  static_assert(
      sizeof(padding_bytes_cleared_) == sizeof(proto.padding_bytes_cleared()),
      "size mismatch");
  padding_bytes_cleared_ = static_cast<decltype(padding_bytes_cleared_)>(
      proto.padding_bytes_cleared());

  static_assert(sizeof(chunks_written_) == sizeof(proto.chunks_written()),
                "size mismatch");
  chunks_written_ =
      static_cast<decltype(chunks_written_)>(proto.chunks_written());

  static_assert(sizeof(chunks_rewritten_) == sizeof(proto.chunks_rewritten()),
                "size mismatch");
  chunks_rewritten_ =
      static_cast<decltype(chunks_rewritten_)>(proto.chunks_rewritten());

  static_assert(
      sizeof(chunks_overwritten_) == sizeof(proto.chunks_overwritten()),
      "size mismatch");
  chunks_overwritten_ =
      static_cast<decltype(chunks_overwritten_)>(proto.chunks_overwritten());

  static_assert(sizeof(chunks_discarded_) == sizeof(proto.chunks_discarded()),
                "size mismatch");
  chunks_discarded_ =
      static_cast<decltype(chunks_discarded_)>(proto.chunks_discarded());

  static_assert(sizeof(chunks_read_) == sizeof(proto.chunks_read()),
                "size mismatch");
  chunks_read_ = static_cast<decltype(chunks_read_)>(proto.chunks_read());

  static_assert(sizeof(chunks_committed_out_of_order_) ==
                    sizeof(proto.chunks_committed_out_of_order()),
                "size mismatch");
  chunks_committed_out_of_order_ =
      static_cast<decltype(chunks_committed_out_of_order_)>(
          proto.chunks_committed_out_of_order());

  static_assert(sizeof(write_wrap_count_) == sizeof(proto.write_wrap_count()),
                "size mismatch");
  write_wrap_count_ =
      static_cast<decltype(write_wrap_count_)>(proto.write_wrap_count());

  static_assert(sizeof(patches_succeeded_) == sizeof(proto.patches_succeeded()),
                "size mismatch");
  patches_succeeded_ =
      static_cast<decltype(patches_succeeded_)>(proto.patches_succeeded());

  static_assert(sizeof(patches_failed_) == sizeof(proto.patches_failed()),
                "size mismatch");
  patches_failed_ =
      static_cast<decltype(patches_failed_)>(proto.patches_failed());

  static_assert(
      sizeof(readaheads_succeeded_) == sizeof(proto.readaheads_succeeded()),
      "size mismatch");
  readaheads_succeeded_ = static_cast<decltype(readaheads_succeeded_)>(
      proto.readaheads_succeeded());

  static_assert(sizeof(readaheads_failed_) == sizeof(proto.readaheads_failed()),
                "size mismatch");
  readaheads_failed_ =
      static_cast<decltype(readaheads_failed_)>(proto.readaheads_failed());

  static_assert(sizeof(abi_violations_) == sizeof(proto.abi_violations()),
                "size mismatch");
  abi_violations_ =
      static_cast<decltype(abi_violations_)>(proto.abi_violations());
  unknown_fields_ = proto.unknown_fields();
}

void TraceStats::BufferStats::ToProto(
    perfetto::protos::TraceStats_BufferStats* proto) const {
  proto->Clear();

  static_assert(sizeof(buffer_size_) == sizeof(proto->buffer_size()),
                "size mismatch");
  proto->set_buffer_size(
      static_cast<decltype(proto->buffer_size())>(buffer_size_));

  static_assert(sizeof(bytes_written_) == sizeof(proto->bytes_written()),
                "size mismatch");
  proto->set_bytes_written(
      static_cast<decltype(proto->bytes_written())>(bytes_written_));

  static_assert(
      sizeof(bytes_overwritten_) == sizeof(proto->bytes_overwritten()),
      "size mismatch");
  proto->set_bytes_overwritten(
      static_cast<decltype(proto->bytes_overwritten())>(bytes_overwritten_));

  static_assert(sizeof(bytes_read_) == sizeof(proto->bytes_read()),
                "size mismatch");
  proto->set_bytes_read(
      static_cast<decltype(proto->bytes_read())>(bytes_read_));

  static_assert(
      sizeof(padding_bytes_written_) == sizeof(proto->padding_bytes_written()),
      "size mismatch");
  proto->set_padding_bytes_written(
      static_cast<decltype(proto->padding_bytes_written())>(
          padding_bytes_written_));

  static_assert(
      sizeof(padding_bytes_cleared_) == sizeof(proto->padding_bytes_cleared()),
      "size mismatch");
  proto->set_padding_bytes_cleared(
      static_cast<decltype(proto->padding_bytes_cleared())>(
          padding_bytes_cleared_));

  static_assert(sizeof(chunks_written_) == sizeof(proto->chunks_written()),
                "size mismatch");
  proto->set_chunks_written(
      static_cast<decltype(proto->chunks_written())>(chunks_written_));

  static_assert(sizeof(chunks_rewritten_) == sizeof(proto->chunks_rewritten()),
                "size mismatch");
  proto->set_chunks_rewritten(
      static_cast<decltype(proto->chunks_rewritten())>(chunks_rewritten_));

  static_assert(
      sizeof(chunks_overwritten_) == sizeof(proto->chunks_overwritten()),
      "size mismatch");
  proto->set_chunks_overwritten(
      static_cast<decltype(proto->chunks_overwritten())>(chunks_overwritten_));

  static_assert(sizeof(chunks_discarded_) == sizeof(proto->chunks_discarded()),
                "size mismatch");
  proto->set_chunks_discarded(
      static_cast<decltype(proto->chunks_discarded())>(chunks_discarded_));

  static_assert(sizeof(chunks_read_) == sizeof(proto->chunks_read()),
                "size mismatch");
  proto->set_chunks_read(
      static_cast<decltype(proto->chunks_read())>(chunks_read_));

  static_assert(sizeof(chunks_committed_out_of_order_) ==
                    sizeof(proto->chunks_committed_out_of_order()),
                "size mismatch");
  proto->set_chunks_committed_out_of_order(
      static_cast<decltype(proto->chunks_committed_out_of_order())>(
          chunks_committed_out_of_order_));

  static_assert(sizeof(write_wrap_count_) == sizeof(proto->write_wrap_count()),
                "size mismatch");
  proto->set_write_wrap_count(
      static_cast<decltype(proto->write_wrap_count())>(write_wrap_count_));

  static_assert(
      sizeof(patches_succeeded_) == sizeof(proto->patches_succeeded()),
      "size mismatch");
  proto->set_patches_succeeded(
      static_cast<decltype(proto->patches_succeeded())>(patches_succeeded_));

  static_assert(sizeof(patches_failed_) == sizeof(proto->patches_failed()),
                "size mismatch");
  proto->set_patches_failed(
      static_cast<decltype(proto->patches_failed())>(patches_failed_));

  static_assert(
      sizeof(readaheads_succeeded_) == sizeof(proto->readaheads_succeeded()),
      "size mismatch");
  proto->set_readaheads_succeeded(
      static_cast<decltype(proto->readaheads_succeeded())>(
          readaheads_succeeded_));

  static_assert(
      sizeof(readaheads_failed_) == sizeof(proto->readaheads_failed()),
      "size mismatch");
  proto->set_readaheads_failed(
      static_cast<decltype(proto->readaheads_failed())>(readaheads_failed_));

  static_assert(sizeof(abi_violations_) == sizeof(proto->abi_violations()),
                "size mismatch");
  proto->set_abi_violations(
      static_cast<decltype(proto->abi_violations())>(abi_violations_));
  *(proto->mutable_unknown_fields()) = unknown_fields_;
}

}  // namespace perfetto