summaryrefslogtreecommitdiffstats
path: root/tools/profiler/gecko/ProfilerTypes.ipdlh
blob: 6255d47db02b86e1b9abd21990d754da76b83c62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

using class mozilla::TimeStamp from "mozilla/TimeStamp.h";
using struct mozilla::ProfileGenerationAdditionalInformation from "ProfileAdditionalInformation.h";

namespace mozilla {

struct ProfilerInitParams {
  bool enabled;
  uint32_t entries;
  double? duration;
  double interval;
  uint32_t features;
  uint64_t activeTabID;
  nsCString[] filters;
};

struct ProfileBufferChunkMetadata {
  TimeStamp doneTimeStamp;
  uint32_t bufferBytes;
};

struct ProfileBufferChunkManagerUpdate {
  uint64_t unreleasedBytes;
  uint64_t releasedBytes;
  TimeStamp oldestDoneTimeStamp;
  ProfileBufferChunkMetadata[] newlyReleasedChunks;
};

struct GatherProfileProgress {
  uint32_t progressProportionValueUnderlyingType;
  nsCString progressLocation;
};

struct IPCProfileAndAdditionalInformation {
  Shmem profileShmem;
  ProfileGenerationAdditionalInformation? additionalInformation;
};

} // namespace mozilla