forked from chromedp/chromedp
/
tracing.go
148 lines (123 loc) · 4.76 KB
/
tracing.go
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
// Package tracing provides the Chrome Debugging Protocol
// commands, types, and events for the Tracing domain.
//
// Generated by the chromedp-gen command.
package tracing
// Code generated by chromedp-gen. DO NOT EDIT.
import (
"context"
cdp "github.com/knq/chromedp/cdp"
)
// StartParams start trace events collection.
type StartParams struct {
BufferUsageReportingInterval float64 `json:"bufferUsageReportingInterval,omitempty"` // If set, the agent will issue bufferUsage events at this interval, specified in milliseconds
TransferMode TransferMode `json:"transferMode,omitempty"` // Whether to report trace events as series of dataCollected events or to save trace to a stream (defaults to ReportEvents).
TraceConfig *TraceConfig `json:"traceConfig,omitempty"`
}
// Start start trace events collection.
//
// parameters:
func Start() *StartParams {
return &StartParams{}
}
// WithBufferUsageReportingInterval if set, the agent will issue bufferUsage
// events at this interval, specified in milliseconds.
func (p StartParams) WithBufferUsageReportingInterval(bufferUsageReportingInterval float64) *StartParams {
p.BufferUsageReportingInterval = bufferUsageReportingInterval
return &p
}
// WithTransferMode whether to report trace events as series of dataCollected
// events or to save trace to a stream (defaults to ReportEvents).
func (p StartParams) WithTransferMode(transferMode TransferMode) *StartParams {
p.TransferMode = transferMode
return &p
}
// WithTraceConfig [no description].
func (p StartParams) WithTraceConfig(traceConfig *TraceConfig) *StartParams {
p.TraceConfig = traceConfig
return &p
}
// Do executes Tracing.start against the provided context and
// target handler.
func (p *StartParams) Do(ctxt context.Context, h cdp.Handler) (err error) {
return h.Execute(ctxt, cdp.CommandTracingStart, p, nil)
}
// EndParams stop trace events collection.
type EndParams struct{}
// End stop trace events collection.
func End() *EndParams {
return &EndParams{}
}
// Do executes Tracing.end against the provided context and
// target handler.
func (p *EndParams) Do(ctxt context.Context, h cdp.Handler) (err error) {
return h.Execute(ctxt, cdp.CommandTracingEnd, nil, nil)
}
// GetCategoriesParams gets supported tracing categories.
type GetCategoriesParams struct{}
// GetCategories gets supported tracing categories.
func GetCategories() *GetCategoriesParams {
return &GetCategoriesParams{}
}
// GetCategoriesReturns return values.
type GetCategoriesReturns struct {
Categories []string `json:"categories,omitempty"` // A list of supported tracing categories.
}
// Do executes Tracing.getCategories against the provided context and
// target handler.
//
// returns:
// categories - A list of supported tracing categories.
func (p *GetCategoriesParams) Do(ctxt context.Context, h cdp.Handler) (categories []string, err error) {
// execute
var res GetCategoriesReturns
err = h.Execute(ctxt, cdp.CommandTracingGetCategories, nil, &res)
if err != nil {
return nil, err
}
return res.Categories, nil
}
// RequestMemoryDumpParams request a global memory dump.
type RequestMemoryDumpParams struct{}
// RequestMemoryDump request a global memory dump.
func RequestMemoryDump() *RequestMemoryDumpParams {
return &RequestMemoryDumpParams{}
}
// RequestMemoryDumpReturns return values.
type RequestMemoryDumpReturns struct {
DumpGUID string `json:"dumpGuid,omitempty"` // GUID of the resulting global memory dump.
Success bool `json:"success,omitempty"` // True iff the global memory dump succeeded.
}
// Do executes Tracing.requestMemoryDump against the provided context and
// target handler.
//
// returns:
// dumpGUID - GUID of the resulting global memory dump.
// success - True iff the global memory dump succeeded.
func (p *RequestMemoryDumpParams) Do(ctxt context.Context, h cdp.Handler) (dumpGUID string, success bool, err error) {
// execute
var res RequestMemoryDumpReturns
err = h.Execute(ctxt, cdp.CommandTracingRequestMemoryDump, nil, &res)
if err != nil {
return "", false, err
}
return res.DumpGUID, res.Success, nil
}
// RecordClockSyncMarkerParams record a clock sync marker in the trace.
type RecordClockSyncMarkerParams struct {
SyncID string `json:"syncId"` // The ID of this clock sync marker
}
// RecordClockSyncMarker record a clock sync marker in the trace.
//
// parameters:
// syncID - The ID of this clock sync marker
func RecordClockSyncMarker(syncID string) *RecordClockSyncMarkerParams {
return &RecordClockSyncMarkerParams{
SyncID: syncID,
}
}
// Do executes Tracing.recordClockSyncMarker against the provided context and
// target handler.
func (p *RecordClockSyncMarkerParams) Do(ctxt context.Context, h cdp.Handler) (err error) {
return h.Execute(ctxt, cdp.CommandTracingRecordClockSyncMarker, p, nil)
}