profiler

package
v0.0.0-...-ccdd204 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 2, 2017 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package profiler provides the Chrome Debugging Protocol commands, types, and events for the Profiler domain.

Generated by the chromedp-gen command.

Index

Constants

This section is empty.

Variables

EventTypes all event types in the domain.

Functions

This section is empty.

Types

type CoverageRange

type CoverageRange struct {
	StartOffset int64 `json:"startOffset"` // JavaScript script source offset for the range start.
	EndOffset   int64 `json:"endOffset"`   // JavaScript script source offset for the range end.
	Count       int64 `json:"count"`       // Collected execution count of the source range.
}

CoverageRange coverage data for a source range.

func (CoverageRange) MarshalEasyJSON

func (v CoverageRange) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (CoverageRange) MarshalJSON

func (v CoverageRange) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*CoverageRange) UnmarshalEasyJSON

func (v *CoverageRange) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*CoverageRange) UnmarshalJSON

func (v *CoverageRange) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type DisableParams

type DisableParams struct{}

DisableParams [no description].

func Disable

func Disable() *DisableParams

Disable [no description].

func (*DisableParams) Do

func (p *DisableParams) Do(ctxt context.Context, h cdp.Handler) (err error)

Do executes Profiler.disable against the provided context and target handler.

func (DisableParams) MarshalEasyJSON

func (v DisableParams) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (DisableParams) MarshalJSON

func (v DisableParams) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*DisableParams) UnmarshalEasyJSON

func (v *DisableParams) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*DisableParams) UnmarshalJSON

func (v *DisableParams) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type EnableParams

type EnableParams struct{}

EnableParams [no description].

func Enable

func Enable() *EnableParams

Enable [no description].

func (*EnableParams) Do

func (p *EnableParams) Do(ctxt context.Context, h cdp.Handler) (err error)

Do executes Profiler.enable against the provided context and target handler.

func (EnableParams) MarshalEasyJSON

func (v EnableParams) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (EnableParams) MarshalJSON

func (v EnableParams) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*EnableParams) UnmarshalEasyJSON

func (v *EnableParams) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*EnableParams) UnmarshalJSON

func (v *EnableParams) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type EventConsoleProfileFinished

type EventConsoleProfileFinished struct {
	ID       string             `json:"id"`
	Location *debugger.Location `json:"location"` // Location of console.profileEnd().
	Profile  *Profile           `json:"profile"`
	Title    string             `json:"title,omitempty"` // Profile title passed as an argument to console.profile().
}

EventConsoleProfileFinished [no description].

func (EventConsoleProfileFinished) MarshalEasyJSON

func (v EventConsoleProfileFinished) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (EventConsoleProfileFinished) MarshalJSON

func (v EventConsoleProfileFinished) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*EventConsoleProfileFinished) UnmarshalEasyJSON

func (v *EventConsoleProfileFinished) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*EventConsoleProfileFinished) UnmarshalJSON

func (v *EventConsoleProfileFinished) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type EventConsoleProfileStarted

type EventConsoleProfileStarted struct {
	ID       string             `json:"id"`
	Location *debugger.Location `json:"location"`        // Location of console.profile().
	Title    string             `json:"title,omitempty"` // Profile title passed as an argument to console.profile().
}

EventConsoleProfileStarted sent when new profile recording is started using console.profile() call.

func (EventConsoleProfileStarted) MarshalEasyJSON

func (v EventConsoleProfileStarted) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (EventConsoleProfileStarted) MarshalJSON

func (v EventConsoleProfileStarted) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*EventConsoleProfileStarted) UnmarshalEasyJSON

func (v *EventConsoleProfileStarted) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*EventConsoleProfileStarted) UnmarshalJSON

func (v *EventConsoleProfileStarted) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type FunctionCoverage

type FunctionCoverage struct {
	FunctionName    string           `json:"functionName"`    // JavaScript function name.
	Ranges          []*CoverageRange `json:"ranges"`          // Source ranges inside the function with coverage data.
	IsBlockCoverage bool             `json:"isBlockCoverage"` // Whether coverage data for this function has block granularity.
}

FunctionCoverage coverage data for a JavaScript function.

func (FunctionCoverage) MarshalEasyJSON

func (v FunctionCoverage) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (FunctionCoverage) MarshalJSON

func (v FunctionCoverage) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*FunctionCoverage) UnmarshalEasyJSON

func (v *FunctionCoverage) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*FunctionCoverage) UnmarshalJSON

func (v *FunctionCoverage) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type GetBestEffortCoverageParams

type GetBestEffortCoverageParams struct{}

GetBestEffortCoverageParams collect coverage data for the current isolate. The coverage data may be incomplete due to garbage collection.

func GetBestEffortCoverage

func GetBestEffortCoverage() *GetBestEffortCoverageParams

GetBestEffortCoverage collect coverage data for the current isolate. The coverage data may be incomplete due to garbage collection.

func (*GetBestEffortCoverageParams) Do

func (p *GetBestEffortCoverageParams) Do(ctxt context.Context, h cdp.Handler) (result []*ScriptCoverage, err error)

Do executes Profiler.getBestEffortCoverage against the provided context and target handler.

returns:

result - Coverage data for the current isolate.

func (GetBestEffortCoverageParams) MarshalEasyJSON

func (v GetBestEffortCoverageParams) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (GetBestEffortCoverageParams) MarshalJSON

func (v GetBestEffortCoverageParams) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*GetBestEffortCoverageParams) UnmarshalEasyJSON

func (v *GetBestEffortCoverageParams) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*GetBestEffortCoverageParams) UnmarshalJSON

func (v *GetBestEffortCoverageParams) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type GetBestEffortCoverageReturns

type GetBestEffortCoverageReturns struct {
	Result []*ScriptCoverage `json:"result,omitempty"` // Coverage data for the current isolate.
}

GetBestEffortCoverageReturns return values.

func (GetBestEffortCoverageReturns) MarshalEasyJSON

func (v GetBestEffortCoverageReturns) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (GetBestEffortCoverageReturns) MarshalJSON

func (v GetBestEffortCoverageReturns) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*GetBestEffortCoverageReturns) UnmarshalEasyJSON

func (v *GetBestEffortCoverageReturns) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*GetBestEffortCoverageReturns) UnmarshalJSON

func (v *GetBestEffortCoverageReturns) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type PositionTickInfo

type PositionTickInfo struct {
	Line  int64 `json:"line"`  // Source line number (1-based).
	Ticks int64 `json:"ticks"` // Number of samples attributed to the source line.
}

PositionTickInfo specifies a number of samples attributed to a certain source position.

func (PositionTickInfo) MarshalEasyJSON

func (v PositionTickInfo) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (PositionTickInfo) MarshalJSON

func (v PositionTickInfo) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*PositionTickInfo) UnmarshalEasyJSON

func (v *PositionTickInfo) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*PositionTickInfo) UnmarshalJSON

func (v *PositionTickInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Profile

type Profile struct {
	Nodes      []*ProfileNode `json:"nodes"`                // The list of profile nodes. First item is the root node.
	StartTime  float64        `json:"startTime"`            // Profiling start timestamp in microseconds.
	EndTime    float64        `json:"endTime"`              // Profiling end timestamp in microseconds.
	Samples    []int64        `json:"samples,omitempty"`    // Ids of samples top nodes.
	TimeDeltas []int64        `json:"timeDeltas,omitempty"` // Time intervals between adjacent samples in microseconds. The first delta is relative to the profile startTime.
}

Profile profile.

func (Profile) MarshalEasyJSON

func (v Profile) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Profile) MarshalJSON

func (v Profile) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Profile) UnmarshalEasyJSON

func (v *Profile) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Profile) UnmarshalJSON

func (v *Profile) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type ProfileNode

type ProfileNode struct {
	ID            int64               `json:"id"`                      // Unique id of the node.
	CallFrame     *runtime.CallFrame  `json:"callFrame"`               // Function location.
	HitCount      int64               `json:"hitCount,omitempty"`      // Number of samples where this node was on top of the call stack.
	Children      []int64             `json:"children,omitempty"`      // Child node ids.
	DeoptReason   string              `json:"deoptReason,omitempty"`   // The reason of being not optimized. The function may be deoptimized or marked as don't optimize.
	PositionTicks []*PositionTickInfo `json:"positionTicks,omitempty"` // An array of source position ticks.
}

ProfileNode profile node. Holds callsite information, execution statistics and child nodes.

func (ProfileNode) MarshalEasyJSON

func (v ProfileNode) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (ProfileNode) MarshalJSON

func (v ProfileNode) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*ProfileNode) UnmarshalEasyJSON

func (v *ProfileNode) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*ProfileNode) UnmarshalJSON

func (v *ProfileNode) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type ScriptCoverage

type ScriptCoverage struct {
	ScriptID  runtime.ScriptID    `json:"scriptId"`  // JavaScript script id.
	URL       string              `json:"url"`       // JavaScript script name or url.
	Functions []*FunctionCoverage `json:"functions"` // Functions contained in the script that has coverage data.
}

ScriptCoverage coverage data for a JavaScript script.

func (ScriptCoverage) MarshalEasyJSON

func (v ScriptCoverage) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (ScriptCoverage) MarshalJSON

func (v ScriptCoverage) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*ScriptCoverage) UnmarshalEasyJSON

func (v *ScriptCoverage) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*ScriptCoverage) UnmarshalJSON

func (v *ScriptCoverage) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type SetSamplingIntervalParams

type SetSamplingIntervalParams struct {
	Interval int64 `json:"interval"` // New sampling interval in microseconds.
}

SetSamplingIntervalParams changes CPU profiler sampling interval. Must be called before CPU profiles recording started.

func SetSamplingInterval

func SetSamplingInterval(interval int64) *SetSamplingIntervalParams

SetSamplingInterval changes CPU profiler sampling interval. Must be called before CPU profiles recording started.

parameters:

interval - New sampling interval in microseconds.

func (*SetSamplingIntervalParams) Do

Do executes Profiler.setSamplingInterval against the provided context and target handler.

func (SetSamplingIntervalParams) MarshalEasyJSON

func (v SetSamplingIntervalParams) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (SetSamplingIntervalParams) MarshalJSON

func (v SetSamplingIntervalParams) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*SetSamplingIntervalParams) UnmarshalEasyJSON

func (v *SetSamplingIntervalParams) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*SetSamplingIntervalParams) UnmarshalJSON

func (v *SetSamplingIntervalParams) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type StartParams

type StartParams struct{}

StartParams [no description].

func Start

func Start() *StartParams

Start [no description].

func (*StartParams) Do

func (p *StartParams) Do(ctxt context.Context, h cdp.Handler) (err error)

Do executes Profiler.start against the provided context and target handler.

func (StartParams) MarshalEasyJSON

func (v StartParams) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (StartParams) MarshalJSON

func (v StartParams) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*StartParams) UnmarshalEasyJSON

func (v *StartParams) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*StartParams) UnmarshalJSON

func (v *StartParams) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type StartPreciseCoverageParams

type StartPreciseCoverageParams struct {
	CallCount bool `json:"callCount,omitempty"` // Collect accurate call counts beyond simple 'covered' or 'not covered'.
}

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.

func StartPreciseCoverage

func StartPreciseCoverage() *StartPreciseCoverageParams

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 (*StartPreciseCoverageParams) Do

Do executes Profiler.startPreciseCoverage against the provided context and target handler.

func (StartPreciseCoverageParams) MarshalEasyJSON

func (v StartPreciseCoverageParams) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (StartPreciseCoverageParams) MarshalJSON

func (v StartPreciseCoverageParams) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*StartPreciseCoverageParams) UnmarshalEasyJSON

func (v *StartPreciseCoverageParams) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*StartPreciseCoverageParams) UnmarshalJSON

func (v *StartPreciseCoverageParams) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

func (StartPreciseCoverageParams) WithCallCount

func (p StartPreciseCoverageParams) WithCallCount(callCount bool) *StartPreciseCoverageParams

WithCallCount collect accurate call counts beyond simple 'covered' or 'not covered'.

type StopParams

type StopParams struct{}

StopParams [no description].

func Stop

func Stop() *StopParams

Stop [no description].

func (*StopParams) Do

func (p *StopParams) Do(ctxt context.Context, h cdp.Handler) (profile *Profile, err error)

Do executes Profiler.stop against the provided context and target handler.

returns:

profile - Recorded profile.

func (StopParams) MarshalEasyJSON

func (v StopParams) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (StopParams) MarshalJSON

func (v StopParams) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*StopParams) UnmarshalEasyJSON

func (v *StopParams) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*StopParams) UnmarshalJSON

func (v *StopParams) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type StopPreciseCoverageParams

type StopPreciseCoverageParams struct{}

StopPreciseCoverageParams disable precise code coverage. Disabling releases unnecessary execution count records and allows executing optimized code.

func StopPreciseCoverage

func StopPreciseCoverage() *StopPreciseCoverageParams

StopPreciseCoverage disable precise code coverage. Disabling releases unnecessary execution count records and allows executing optimized code.

func (*StopPreciseCoverageParams) Do

Do executes Profiler.stopPreciseCoverage against the provided context and target handler.

func (StopPreciseCoverageParams) MarshalEasyJSON

func (v StopPreciseCoverageParams) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (StopPreciseCoverageParams) MarshalJSON

func (v StopPreciseCoverageParams) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*StopPreciseCoverageParams) UnmarshalEasyJSON

func (v *StopPreciseCoverageParams) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*StopPreciseCoverageParams) UnmarshalJSON

func (v *StopPreciseCoverageParams) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type StopReturns

type StopReturns struct {
	Profile *Profile `json:"profile,omitempty"` // Recorded profile.
}

StopReturns return values.

func (StopReturns) MarshalEasyJSON

func (v StopReturns) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (StopReturns) MarshalJSON

func (v StopReturns) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*StopReturns) UnmarshalEasyJSON

func (v *StopReturns) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*StopReturns) UnmarshalJSON

func (v *StopReturns) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type TakePreciseCoverageParams

type TakePreciseCoverageParams struct{}

TakePreciseCoverageParams collect coverage data for the current isolate, and resets execution counters. Precise code coverage needs to have started.

func TakePreciseCoverage

func TakePreciseCoverage() *TakePreciseCoverageParams

TakePreciseCoverage collect coverage data for the current isolate, and resets execution counters. Precise code coverage needs to have started.

func (*TakePreciseCoverageParams) Do

func (p *TakePreciseCoverageParams) Do(ctxt context.Context, h cdp.Handler) (result []*ScriptCoverage, err error)

Do executes Profiler.takePreciseCoverage against the provided context and target handler.

returns:

result - Coverage data for the current isolate.

func (TakePreciseCoverageParams) MarshalEasyJSON

func (v TakePreciseCoverageParams) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (TakePreciseCoverageParams) MarshalJSON

func (v TakePreciseCoverageParams) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*TakePreciseCoverageParams) UnmarshalEasyJSON

func (v *TakePreciseCoverageParams) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*TakePreciseCoverageParams) UnmarshalJSON

func (v *TakePreciseCoverageParams) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type TakePreciseCoverageReturns

type TakePreciseCoverageReturns struct {
	Result []*ScriptCoverage `json:"result,omitempty"` // Coverage data for the current isolate.
}

TakePreciseCoverageReturns return values.

func (TakePreciseCoverageReturns) MarshalEasyJSON

func (v TakePreciseCoverageReturns) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (TakePreciseCoverageReturns) MarshalJSON

func (v TakePreciseCoverageReturns) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*TakePreciseCoverageReturns) UnmarshalEasyJSON

func (v *TakePreciseCoverageReturns) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*TakePreciseCoverageReturns) UnmarshalJSON

func (v *TakePreciseCoverageReturns) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL