summaryrefslogtreecommitdiff
path: root/vendor/github.com/playwright-community/playwright-go/tracing.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/playwright-community/playwright-go/tracing.go')
-rw-r--r--vendor/github.com/playwright-community/playwright-go/tracing.go164
1 files changed, 0 insertions, 164 deletions
diff --git a/vendor/github.com/playwright-community/playwright-go/tracing.go b/vendor/github.com/playwright-community/playwright-go/tracing.go
deleted file mode 100644
index decd872..0000000
--- a/vendor/github.com/playwright-community/playwright-go/tracing.go
+++ /dev/null
@@ -1,164 +0,0 @@
-package playwright
-
-import "fmt"
-
-type tracingImpl struct {
- channelOwner
- includeSources bool
- isTracing bool
- stacksId string
- tracesDir string
-}
-
-func (t *tracingImpl) Start(options ...TracingStartOptions) error {
- chunkOption := TracingStartChunkOptions{}
- if len(options) == 1 {
- if options[0].Sources != nil {
- t.includeSources = *options[0].Sources
- }
- chunkOption.Name = options[0].Name
- chunkOption.Title = options[0].Title
- }
- innerStart := func() (interface{}, error) {
- if _, err := t.channel.Send("tracingStart", options); err != nil {
- return "", err
- }
- return t.channel.Send("tracingStartChunk", chunkOption)
- }
- name, err := innerStart()
- if err != nil {
- return err
- }
- return t.startCollectingStacks(name.(string))
-}
-
-func (t *tracingImpl) StartChunk(options ...TracingStartChunkOptions) error {
- name, err := t.channel.Send("tracingStartChunk", options)
- if err != nil {
- return err
- }
- return t.startCollectingStacks(name.(string))
-}
-
-func (t *tracingImpl) StopChunk(path ...string) error {
- filePath := ""
- if len(path) == 1 {
- filePath = path[0]
- }
- return t.doStopChunk(filePath)
-}
-
-func (t *tracingImpl) Stop(path ...string) error {
- filePath := ""
- if len(path) == 1 {
- filePath = path[0]
- }
- if err := t.doStopChunk(filePath); err != nil {
- return err
- }
- _, err := t.channel.Send("tracingStop")
- return err
-}
-
-func (t *tracingImpl) doStopChunk(filePath string) (err error) {
- if t.isTracing {
- t.isTracing = false
- t.connection.setInTracing(false)
- }
- if filePath == "" {
- // Not interested in artifacts.
- _, err = t.channel.Send("tracingStopChunk", map[string]interface{}{
- "mode": "discard",
- })
- if t.stacksId != "" {
- return t.connection.LocalUtils().TraceDiscarded(t.stacksId)
- }
- return err
- }
-
- isLocal := !t.connection.isRemote
- if isLocal {
- result, err := t.channel.SendReturnAsDict("tracingStopChunk", map[string]interface{}{
- "mode": "entries",
- })
- if err != nil {
- return err
- }
- entries, ok := result["entries"]
- if !ok {
- return fmt.Errorf("could not convert result to map: %v", result)
- }
- _, err = t.connection.LocalUtils().Zip(localUtilsZipOptions{
- ZipFile: filePath,
- Entries: entries.([]interface{}),
- StacksId: t.stacksId,
- Mode: "write",
- IncludeSources: t.includeSources,
- })
- return err
- }
-
- result, err := t.channel.SendReturnAsDict("tracingStopChunk", map[string]interface{}{
- "mode": "archive",
- })
- if err != nil {
- return err
- }
- artifactChannel, ok := result["artifact"]
- if !ok {
- return fmt.Errorf("could not convert result to map: %v", result)
- }
- // Save trace to the final local file.
- artifact := fromNullableChannel(artifactChannel).(*artifactImpl)
- // The artifact may be missing if the browser closed while stopping tracing.
- if artifact == nil {
- if t.stacksId != "" {
- return t.connection.LocalUtils().TraceDiscarded(t.stacksId)
- }
- return
- }
- if err := artifact.SaveAs(filePath); err != nil {
- return err
- }
- if err := artifact.Delete(); err != nil {
- return err
- }
- _, err = t.connection.LocalUtils().Zip(localUtilsZipOptions{
- ZipFile: filePath,
- Entries: []interface{}{},
- StacksId: t.stacksId,
- Mode: "append",
- IncludeSources: t.includeSources,
- })
- return err
-}
-
-func (t *tracingImpl) startCollectingStacks(name string) (err error) {
- if !t.isTracing {
- t.isTracing = true
- t.connection.setInTracing(true)
- }
- t.stacksId, err = t.connection.LocalUtils().TracingStarted(name, t.tracesDir)
- return
-}
-
-func (t *tracingImpl) Group(name string, options ...TracingGroupOptions) error {
- var option TracingGroupOptions
- if len(options) == 1 {
- option = options[0]
- }
- _, err := t.channel.Send("tracingGroup", option, map[string]interface{}{"name": name})
- return err
-}
-
-func (t *tracingImpl) GroupEnd() error {
- _, err := t.channel.Send("tracingGroupEnd")
- return err
-}
-
-func newTracing(parent *channelOwner, objectType string, guid string, initializer map[string]interface{}) *tracingImpl {
- bt := &tracingImpl{}
- bt.createChannelOwner(bt, parent, objectType, guid, initializer)
- bt.markAsInternalType()
- return bt
-}