-
Notifications
You must be signed in to change notification settings - Fork 54
/
js-self-profiling.idl
48 lines (39 loc) · 1.24 KB
/
js-self-profiling.idl
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
44
45
46
47
48
// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports)
// Source: JS Self-Profiling API (https://wicg.github.io/js-self-profiling/)
[Exposed=(Window,Worker)]
interface Profiler {
readonly attribute DOMHighResTimeStamp sampleInterval;
readonly attribute boolean stopped;
Promise<ProfilerTrace> stop();
};
typedef DOMString ProfilerResource;
dictionary ProfilerTrace {
required sequence<ProfilerResource> resources;
required sequence<ProfilerFrame> frames;
required sequence<ProfilerStack> stacks;
required sequence<ProfilerSample> samples;
};
dictionary ProfilerSample {
required DOMHighResTimeStamp timestamp;
unsigned long long stackId;
};
dictionary ProfilerStack {
unsigned long long parentId;
required unsigned long long frameId;
};
dictionary ProfilerFrame {
DOMString name;
required unsigned long long resourceId;
required unsigned long long line;
required unsigned long long column;
};
dictionary ProfilerInitOptions {
required DOMHighResTimeStamp sampleInterval;
required unsigned long maxBufferSize;
};
[Exposed=(Window,Worker)]
partial interface Performance {
Promise<Profiler> profile(ProfilerInitOptions options);
};