| // Package profiler provides the Chrome DevTools Protocol |
| // commands, types, and events for the Profiler domain. |
| // |
| // Generated by the cdproto-gen command. |
| package profiler |
| |
| // Code generated by cdproto-gen. DO NOT EDIT. |
| |
| import ( |
| "context" |
| |
| "github.com/chromedp/cdproto/cdp" |
| ) |
| |
| // DisableParams [no description]. |
| type DisableParams struct{} |
| |
| // Disable [no description]. |
| func Disable() *DisableParams { |
| return &DisableParams{} |
| } |
| |
| // Do executes Profiler.disable against the provided context. |
| func (p *DisableParams) Do(ctxt context.Context, h cdp.Executor) (err error) { |
| return h.Execute(ctxt, CommandDisable, nil, nil) |
| } |
| |
| // EnableParams [no description]. |
| type EnableParams struct{} |
| |
| // Enable [no description]. |
| func Enable() *EnableParams { |
| return &EnableParams{} |
| } |
| |
| // Do executes Profiler.enable against the provided context. |
| func (p *EnableParams) Do(ctxt context.Context, h cdp.Executor) (err error) { |
| return h.Execute(ctxt, CommandEnable, nil, nil) |
| } |
| |
| // GetBestEffortCoverageParams collect coverage data for the current isolate. |
| // The coverage data may be incomplete due to garbage collection. |
| type GetBestEffortCoverageParams struct{} |
| |
| // GetBestEffortCoverage collect coverage data for the current isolate. The |
| // coverage data may be incomplete due to garbage collection. |
| func GetBestEffortCoverage() *GetBestEffortCoverageParams { |
| return &GetBestEffortCoverageParams{} |
| } |
| |
| // GetBestEffortCoverageReturns return values. |
| type GetBestEffortCoverageReturns struct { |
| Result []*ScriptCoverage `json:"result,omitempty"` // Coverage data for the current isolate. |
| } |
| |
| // Do executes Profiler.getBestEffortCoverage against the provided context. |
| // |
| // returns: |
| // result - Coverage data for the current isolate. |
| func (p *GetBestEffortCoverageParams) Do(ctxt context.Context, h cdp.Executor) (result []*ScriptCoverage, err error) { |
| // execute |
| var res GetBestEffortCoverageReturns |
| err = h.Execute(ctxt, CommandGetBestEffortCoverage, nil, &res) |
| if err != nil { |
| return nil, err |
| } |
| |
| return res.Result, nil |
| } |
| |
| // SetSamplingIntervalParams changes CPU profiler sampling interval. Must be |
| // called before CPU profiles recording started. |
| type SetSamplingIntervalParams struct { |
| Interval int64 `json:"interval"` // New sampling interval in microseconds. |
| } |
| |
| // SetSamplingInterval changes CPU profiler sampling interval. Must be called |
| // before CPU profiles recording started. |
| // |
| // parameters: |
| // interval - New sampling interval in microseconds. |
| func SetSamplingInterval(interval int64) *SetSamplingIntervalParams { |
| return &SetSamplingIntervalParams{ |
| Interval: interval, |
| } |
| } |
| |
| // Do executes Profiler.setSamplingInterval against the provided context. |
| func (p *SetSamplingIntervalParams) Do(ctxt context.Context, h cdp.Executor) (err error) { |
| return h.Execute(ctxt, CommandSetSamplingInterval, p, nil) |
| } |
| |
| // StartParams [no description]. |
| type StartParams struct{} |
| |
| // Start [no description]. |
| func Start() *StartParams { |
| return &StartParams{} |
| } |
| |
| // Do executes Profiler.start against the provided context. |
| func (p *StartParams) Do(ctxt context.Context, h cdp.Executor) (err error) { |
| return h.Execute(ctxt, CommandStart, nil, nil) |
| } |
| |
| // StartPreciseCoverageParams enable precise code coverage. Coverage data for |
| // JavaScript executed before enabling precise code coverage may be incomplete. |
| // Enabling prevents running optimized code and resets execution counters. |
| type StartPreciseCoverageParams struct { |
| CallCount bool `json:"callCount,omitempty"` // Collect accurate call counts beyond simple 'covered' or 'not covered'. |
| Detailed bool `json:"detailed,omitempty"` // Collect block-based coverage. |
| } |
| |
| // StartPreciseCoverage enable precise code coverage. Coverage data for |
| // JavaScript executed before enabling precise code coverage may be incomplete. |
| // Enabling prevents running optimized code and resets execution counters. |
| // |
| // parameters: |
| func StartPreciseCoverage() *StartPreciseCoverageParams { |
| return &StartPreciseCoverageParams{} |
| } |
| |
| // WithCallCount collect accurate call counts beyond simple 'covered' or 'not |
| // covered'. |
| func (p StartPreciseCoverageParams) WithCallCount(callCount bool) *StartPreciseCoverageParams { |
| p.CallCount = callCount |
| return &p |
| } |
| |
| // WithDetailed collect block-based coverage. |
| func (p StartPreciseCoverageParams) WithDetailed(detailed bool) *StartPreciseCoverageParams { |
| p.Detailed = detailed |
| return &p |
| } |
| |
| // Do executes Profiler.startPreciseCoverage against the provided context. |
| func (p *StartPreciseCoverageParams) Do(ctxt context.Context, h cdp.Executor) (err error) { |
| return h.Execute(ctxt, CommandStartPreciseCoverage, p, nil) |
| } |
| |
| // StartTypeProfileParams enable type profile. |
| type StartTypeProfileParams struct{} |
| |
| // StartTypeProfile enable type profile. |
| func StartTypeProfile() *StartTypeProfileParams { |
| return &StartTypeProfileParams{} |
| } |
| |
| // Do executes Profiler.startTypeProfile against the provided context. |
| func (p *StartTypeProfileParams) Do(ctxt context.Context, h cdp.Executor) (err error) { |
| return h.Execute(ctxt, CommandStartTypeProfile, nil, nil) |
| } |
| |
| // StopParams [no description]. |
| type StopParams struct{} |
| |
| // Stop [no description]. |
| func Stop() *StopParams { |
| return &StopParams{} |
| } |
| |
| // StopReturns return values. |
| type StopReturns struct { |
| Profile *Profile `json:"profile,omitempty"` // Recorded profile. |
| } |
| |
| // Do executes Profiler.stop against the provided context. |
| // |
| // returns: |
| // profile - Recorded profile. |
| func (p *StopParams) Do(ctxt context.Context, h cdp.Executor) (profile *Profile, err error) { |
| // execute |
| var res StopReturns |
| err = h.Execute(ctxt, CommandStop, nil, &res) |
| if err != nil { |
| return nil, err |
| } |
| |
| return res.Profile, nil |
| } |
| |
| // StopPreciseCoverageParams disable precise code coverage. Disabling |
| // releases unnecessary execution count records and allows executing optimized |
| // code. |
| type StopPreciseCoverageParams struct{} |
| |
| // StopPreciseCoverage disable precise code coverage. Disabling releases |
| // unnecessary execution count records and allows executing optimized code. |
| func StopPreciseCoverage() *StopPreciseCoverageParams { |
| return &StopPreciseCoverageParams{} |
| } |
| |
| // Do executes Profiler.stopPreciseCoverage against the provided context. |
| func (p *StopPreciseCoverageParams) Do(ctxt context.Context, h cdp.Executor) (err error) { |
| return h.Execute(ctxt, CommandStopPreciseCoverage, nil, nil) |
| } |
| |
| // StopTypeProfileParams disable type profile. Disabling releases type |
| // profile data collected so far. |
| type StopTypeProfileParams struct{} |
| |
| // StopTypeProfile disable type profile. Disabling releases type profile data |
| // collected so far. |
| func StopTypeProfile() *StopTypeProfileParams { |
| return &StopTypeProfileParams{} |
| } |
| |
| // Do executes Profiler.stopTypeProfile against the provided context. |
| func (p *StopTypeProfileParams) Do(ctxt context.Context, h cdp.Executor) (err error) { |
| return h.Execute(ctxt, CommandStopTypeProfile, nil, nil) |
| } |
| |
| // TakePreciseCoverageParams collect coverage data for the current isolate, |
| // and resets execution counters. Precise code coverage needs to have started. |
| type TakePreciseCoverageParams struct{} |
| |
| // TakePreciseCoverage collect coverage data for the current isolate, and |
| // resets execution counters. Precise code coverage needs to have started. |
| func TakePreciseCoverage() *TakePreciseCoverageParams { |
| return &TakePreciseCoverageParams{} |
| } |
| |
| // TakePreciseCoverageReturns return values. |
| type TakePreciseCoverageReturns struct { |
| Result []*ScriptCoverage `json:"result,omitempty"` // Coverage data for the current isolate. |
| } |
| |
| // Do executes Profiler.takePreciseCoverage against the provided context. |
| // |
| // returns: |
| // result - Coverage data for the current isolate. |
| func (p *TakePreciseCoverageParams) Do(ctxt context.Context, h cdp.Executor) (result []*ScriptCoverage, err error) { |
| // execute |
| var res TakePreciseCoverageReturns |
| err = h.Execute(ctxt, CommandTakePreciseCoverage, nil, &res) |
| if err != nil { |
| return nil, err |
| } |
| |
| return res.Result, nil |
| } |
| |
| // TakeTypeProfileParams collect type profile. |
| type TakeTypeProfileParams struct{} |
| |
| // TakeTypeProfile collect type profile. |
| func TakeTypeProfile() *TakeTypeProfileParams { |
| return &TakeTypeProfileParams{} |
| } |
| |
| // TakeTypeProfileReturns return values. |
| type TakeTypeProfileReturns struct { |
| Result []*ScriptTypeProfile `json:"result,omitempty"` // Type profile for all scripts since startTypeProfile() was turned on. |
| } |
| |
| // Do executes Profiler.takeTypeProfile against the provided context. |
| // |
| // returns: |
| // result - Type profile for all scripts since startTypeProfile() was turned on. |
| func (p *TakeTypeProfileParams) Do(ctxt context.Context, h cdp.Executor) (result []*ScriptTypeProfile, err error) { |
| // execute |
| var res TakeTypeProfileReturns |
| err = h.Execute(ctxt, CommandTakeTypeProfile, nil, &res) |
| if err != nil { |
| return nil, err |
| } |
| |
| return res.Result, nil |
| } |
| |
| // Command names. |
| const ( |
| CommandDisable = "Profiler.disable" |
| CommandEnable = "Profiler.enable" |
| CommandGetBestEffortCoverage = "Profiler.getBestEffortCoverage" |
| CommandSetSamplingInterval = "Profiler.setSamplingInterval" |
| CommandStart = "Profiler.start" |
| CommandStartPreciseCoverage = "Profiler.startPreciseCoverage" |
| CommandStartTypeProfile = "Profiler.startTypeProfile" |
| CommandStop = "Profiler.stop" |
| CommandStopPreciseCoverage = "Profiler.stopPreciseCoverage" |
| CommandStopTypeProfile = "Profiler.stopTypeProfile" |
| CommandTakePreciseCoverage = "Profiler.takePreciseCoverage" |
| CommandTakeTypeProfile = "Profiler.takeTypeProfile" |
| ) |