func (c *Tracing) RequestMemoryDumpWithParams(v *TracingRequestMemoryDumpParams) (string, bool, error) {
	resp, err := gcdmessage.SendCustomReturn(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Tracing.requestMemoryDump", Params: v})
	if err != nil {
		return "", false, err
	}
	var chromeData struct {
		Result struct {
			DumpGuid string
			Success  bool
		}
	}
	if resp == nil {
		return "", false, &gcdmessage.ChromeEmptyResponseErr{}
	}
	cerr := &gcdmessage.ChromeErrorResponse{}
	json.Unmarshal(resp.Data, cerr)
	if cerr != nil && cerr.Error != nil {
		return "", false, &gcdmessage.ChromeRequestErr{Resp: cerr}
	}
	if err := json.Unmarshal(resp.Data, &chromeData); err != nil {
		return "", false, err
	}
	return chromeData.Result.DumpGuid, chromeData.Result.Success, nil
}
RequestMemoryDumpWithParams - Request a global memory dump.
Returns -  dumpGuid - GUID of the resulting global memory dump. success - True iff the global memory dump succeeded.
package gcdapi
import (
	"github.com/wirepair/gcd/gcdmessage"
)
type TracingTraceConfig struct {
	RecordMode           string                 `json:"recordMode,omitempty"`            
	EnableSampling       bool                   `json:"enableSampling,omitempty"`        
	EnableSystrace       bool                   `json:"enableSystrace,omitempty"`        
	EnableArgumentFilter bool                   `json:"enableArgumentFilter,omitempty"`  
	IncludedCategories   []string               `json:"includedCategories,omitempty"`    
	ExcludedCategories   []string               `json:"excludedCategories,omitempty"`    
	SyntheticDelays      []string               `json:"syntheticDelays,omitempty"`       
	MemoryDumpConfig     map[string]interface{} `json:"memoryDumpConfig,omitempty"`      
}
type TracingBufferUsageEvent struct {
	Method string `json:"method"`
	Params struct {
		PercentFull float64 `json:"percentFull,omitempty"`  
		EventCount  float64 `json:"eventCount,omitempty"`   
		Value       float64 `json:"value,omitempty"`        
	} `json:"Params,omitempty"`
}
type TracingTracingCompleteEvent struct {
	Method string `json:"method"`
	Params struct {
		DataLossOccurred  bool   `json:"dataLossOccurred"`             
		Stream            string `json:"stream,omitempty"`             
		TraceFormat       string `json:"traceFormat,omitempty"`        
		StreamCompression string `json:"streamCompression,omitempty"`  
	} `json:"Params,omitempty"`
}
type Tracing struct {
	target gcdmessage.ChromeTargeter
}
func NewTracing(target gcdmessage.ChromeTargeter) *Tracing {
	c := &Tracing{target: target}
	return c
}
func (c *Tracing) End() (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Tracing.end"})
}
func (c *Tracing) GetCategories() ([]string, error) {
	resp, err := gcdmessage.SendCustomReturn(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Tracing.getCategories"})
	if err != nil {
		return nil, err
	}
	var chromeData struct {
		Result struct {
			Categories []string
		}
	}
	if resp == nil {
		return nil, &gcdmessage.ChromeEmptyResponseErr{}
	}
	cerr := &gcdmessage.ChromeErrorResponse{}
	json.Unmarshal(resp.Data, cerr)
	if cerr != nil && cerr.Error != nil {
		return nil, &gcdmessage.ChromeRequestErr{Resp: cerr}
	}
	if err := json.Unmarshal(resp.Data, &chromeData); err != nil {
		return nil, err
	}
	return chromeData.Result.Categories, nil
}
type TracingRecordClockSyncMarkerParams struct {
	SyncId string `json:"syncId"`
}
func (c *Tracing) RecordClockSyncMarkerWithParams(v *TracingRecordClockSyncMarkerParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Tracing.recordClockSyncMarker", Params: v})
}
func (c *Tracing) RecordClockSyncMarker(syncId string) (*gcdmessage.ChromeResponse, error) {
	var v TracingRecordClockSyncMarkerParams
	v.SyncId = syncId
	return c.RecordClockSyncMarkerWithParams(&v)
}
type TracingRequestMemoryDumpParams struct {
	Deterministic bool `json:"deterministic,omitempty"`
}