queued_request.cc 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // Copyright 2017 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "services/resource_coordinator/memory_instrumentation/queued_request.h"
  5. namespace memory_instrumentation {
  6. QueuedRequest::Args::Args(MemoryDumpType dump_type,
  7. MemoryDumpLevelOfDetail level_of_detail,
  8. MemoryDumpDeterminism determinism,
  9. const std::vector<std::string>& allocator_dump_names,
  10. bool add_to_trace,
  11. base::ProcessId pid,
  12. bool memory_footprint_only)
  13. : dump_type(dump_type),
  14. level_of_detail(level_of_detail),
  15. determinism(determinism),
  16. allocator_dump_names(allocator_dump_names),
  17. add_to_trace(add_to_trace),
  18. pid(pid),
  19. memory_footprint_only(memory_footprint_only) {}
  20. QueuedRequest::Args::Args(const Args& args) = default;
  21. QueuedRequest::Args::~Args() = default;
  22. QueuedRequest::PendingResponse::PendingResponse(base::ProcessId process_id,
  23. Type type)
  24. : process_id(process_id), type(type) {}
  25. bool QueuedRequest::PendingResponse::operator<(
  26. const PendingResponse& other) const {
  27. return std::tie(process_id, type) < std::tie(other.process_id, other.type);
  28. }
  29. QueuedRequest::Response::Response() {}
  30. QueuedRequest::Response::Response(Response&& other) = default;
  31. QueuedRequest::Response::~Response() = default;
  32. QueuedRequest::QueuedRequest(const Args& args,
  33. uint64_t dump_guid,
  34. RequestGlobalMemoryDumpInternalCallback callback)
  35. : args(args), dump_guid(dump_guid), callback(std::move(callback)) {}
  36. QueuedRequest::~QueuedRequest() = default;
  37. base::trace_event::MemoryDumpRequestArgs QueuedRequest::GetRequestArgs() {
  38. base::trace_event::MemoryDumpRequestArgs request_args;
  39. request_args.dump_guid = dump_guid;
  40. request_args.dump_type = args.dump_type;
  41. request_args.level_of_detail = args.level_of_detail;
  42. request_args.determinism = args.determinism;
  43. return request_args;
  44. }
  45. QueuedVmRegionRequest::Response::Response() = default;
  46. QueuedVmRegionRequest::Response::~Response() = default;
  47. QueuedVmRegionRequest::QueuedVmRegionRequest(
  48. uint64_t dump_guid,
  49. mojom::HeapProfilerHelper::GetVmRegionsForHeapProfilerCallback callback)
  50. : dump_guid(dump_guid), callback(std::move(callback)) {}
  51. QueuedVmRegionRequest::~QueuedVmRegionRequest() = default;
  52. } // namespace memory_instrumentation