systeminfo

package
v0.0.0-...-64be311 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2025 License: MIT Imports: 5 Imported by: 4

Documentation

Overview

Package systeminfo provides the Chrome DevTools Protocol commands, types, and events for the SystemInfo domain.

The SystemInfo domain defines methods and events for querying low-level system information.

Generated by the cdproto-gen command.

Index

Constants

View Source
const (
	CommandGetInfo         = "SystemInfo.getInfo"
	CommandGetFeatureState = "SystemInfo.getFeatureState"
	CommandGetProcessInfo  = "SystemInfo.getProcessInfo"
)

Command names.

Variables

This section is empty.

Functions

This section is empty.

Types

type GPUDevice

type GPUDevice struct {
	VendorID      float64 `json:"vendorId"`                    // PCI ID of the GPU vendor, if available; 0 otherwise.
	DeviceID      float64 `json:"deviceId"`                    // PCI ID of the GPU device, if available; 0 otherwise.
	SubSysID      float64 `json:"subSysId,omitempty,omitzero"` // Sub sys ID of the GPU, only available on Windows.
	Revision      float64 `json:"revision,omitempty,omitzero"` // Revision of the GPU, only available on Windows.
	VendorString  string  `json:"vendorString"`                // String description of the GPU vendor, if the PCI ID is not available.
	DeviceString  string  `json:"deviceString"`                // String description of the GPU device, if the PCI ID is not available.
	DriverVendor  string  `json:"driverVendor"`                // String description of the GPU driver vendor.
	DriverVersion string  `json:"driverVersion"`               // String description of the GPU driver version.
}

GPUDevice describes a single graphics processor (GPU).

See: https://chromedevtools.github.io/devtools-protocol/tot/SystemInfo#type-GPUDevice

type GPUInfo

type GPUInfo struct {
	Devices              []*GPUDevice                        `json:"devices"` // The graphics devices on the system. Element 0 is the primary GPU.
	AuxAttributes        jsontext.Value                      `json:"auxAttributes,omitempty,omitzero"`
	FeatureStatus        jsontext.Value                      `json:"featureStatus,omitempty,omitzero"`
	DriverBugWorkarounds []string                            `json:"driverBugWorkarounds"` // An optional array of GPU driver bug workarounds.
	VideoDecoding        []*VideoDecodeAcceleratorCapability `json:"videoDecoding"`        // Supported accelerated video decoding capabilities.
	VideoEncoding        []*VideoEncodeAcceleratorCapability `json:"videoEncoding"`        // Supported accelerated video encoding capabilities.
	ImageDecoding        []*ImageDecodeAcceleratorCapability `json:"imageDecoding"`        // Supported accelerated image decoding capabilities.
}

GPUInfo provides information about the GPU(s) on the system.

See: https://chromedevtools.github.io/devtools-protocol/tot/SystemInfo#type-GPUInfo

type GetFeatureStateParams

type GetFeatureStateParams struct {
	FeatureState string `json:"featureState"`
}

GetFeatureStateParams returns information about the feature state.

func GetFeatureState

func GetFeatureState(featureState string) *GetFeatureStateParams

GetFeatureState returns information about the feature state.

See: https://chromedevtools.github.io/devtools-protocol/tot/SystemInfo#method-getFeatureState

parameters:

featureState

func (*GetFeatureStateParams) Do

func (p *GetFeatureStateParams) Do(ctx context.Context) (featureEnabled bool, err error)

Do executes SystemInfo.getFeatureState against the provided context.

returns:

featureEnabled

type GetFeatureStateReturns

type GetFeatureStateReturns struct {
	FeatureEnabled bool `json:"featureEnabled,omitempty,omitzero"`
}

GetFeatureStateReturns return values.

type GetInfoParams

type GetInfoParams struct{}

GetInfoParams returns information about the system.

func GetInfo

func GetInfo() *GetInfoParams

GetInfo returns information about the system.

See: https://chromedevtools.github.io/devtools-protocol/tot/SystemInfo#method-getInfo

func (*GetInfoParams) Do

func (p *GetInfoParams) Do(ctx context.Context) (gpu *GPUInfo, modelName string, modelVersion string, commandLine string, err error)

Do executes SystemInfo.getInfo against the provided context.

returns:

gpu - Information about the GPUs on the system.
modelName - A platform-dependent description of the model of the machine. On Mac OS, this is, for example, 'MacBookPro'. Will be the empty string if not supported.
modelVersion - A platform-dependent description of the version of the machine. On Mac OS, this is, for example, '10.1'. Will be the empty string if not supported.
commandLine - The command line string used to launch the browser. Will be the empty string if not supported.

type GetInfoReturns

type GetInfoReturns struct {
	GPU          *GPUInfo `json:"gpu,omitempty,omitzero"`          // Information about the GPUs on the system.
	ModelName    string   `json:"modelName,omitempty,omitzero"`    // A platform-dependent description of the model of the machine. On Mac OS, this is, for example, 'MacBookPro'. Will be the empty string if not supported.
	ModelVersion string   `json:"modelVersion,omitempty,omitzero"` // A platform-dependent description of the version of the machine. On Mac OS, this is, for example, '10.1'. Will be the empty string if not supported.
	CommandLine  string   `json:"commandLine,omitempty,omitzero"`  // The command line string used to launch the browser. Will be the empty string if not supported.
}

GetInfoReturns return values.

type GetProcessInfoParams

type GetProcessInfoParams struct{}

GetProcessInfoParams returns information about all running processes.

func GetProcessInfo

func GetProcessInfo() *GetProcessInfoParams

GetProcessInfo returns information about all running processes.

See: https://chromedevtools.github.io/devtools-protocol/tot/SystemInfo#method-getProcessInfo

func (*GetProcessInfoParams) Do

func (p *GetProcessInfoParams) Do(ctx context.Context) (processInfo []*ProcessInfo, err error)

Do executes SystemInfo.getProcessInfo against the provided context.

returns:

processInfo - An array of process info blocks.

type GetProcessInfoReturns

type GetProcessInfoReturns struct {
	ProcessInfo []*ProcessInfo `json:"processInfo,omitempty,omitzero"` // An array of process info blocks.
}

GetProcessInfoReturns return values.

type ImageDecodeAcceleratorCapability

type ImageDecodeAcceleratorCapability struct {
	ImageType     ImageType           `json:"imageType"`     // Image coded, e.g. Jpeg.
	MaxDimensions *Size               `json:"maxDimensions"` // Maximum supported dimensions of the image in pixels.
	MinDimensions *Size               `json:"minDimensions"` // Minimum supported dimensions of the image in pixels.
	Subsamplings  []SubsamplingFormat `json:"subsamplings"`  // Optional array of supported subsampling formats, e.g. 4:2:0, if known.
}

ImageDecodeAcceleratorCapability describes a supported image decoding profile with its associated minimum and maximum resolutions and subsampling.

See: https://chromedevtools.github.io/devtools-protocol/tot/SystemInfo#type-ImageDecodeAcceleratorCapability

type ImageType

type ImageType string

ImageType image format of a given image.

See: https://chromedevtools.github.io/devtools-protocol/tot/SystemInfo#type-ImageType

const (
	ImageTypeJpeg    ImageType = "jpeg"
	ImageTypeWebp    ImageType = "webp"
	ImageTypeUnknown ImageType = "unknown"
)

ImageType values.

func (ImageType) String

func (t ImageType) String() string

String returns the ImageType as string value.

func (*ImageType) UnmarshalJSON

func (t *ImageType) UnmarshalJSON(buf []byte) error

UnmarshalJSON satisfies [json.Unmarshaler].

type ProcessInfo

type ProcessInfo struct {
	Type    string  `json:"type"`    // Specifies process type.
	ID      int64   `json:"id"`      // Specifies process id.
	CPUTime float64 `json:"cpuTime"` // Specifies cumulative CPU usage in seconds across all threads of the process since the process start.
}

ProcessInfo represents process info.

See: https://chromedevtools.github.io/devtools-protocol/tot/SystemInfo#type-ProcessInfo

type Size

type Size struct {
	Width  int64 `json:"width"`  // Width in pixels.
	Height int64 `json:"height"` // Height in pixels.
}

Size describes the width and height dimensions of an entity.

See: https://chromedevtools.github.io/devtools-protocol/tot/SystemInfo#type-Size

type SubsamplingFormat

type SubsamplingFormat string

SubsamplingFormat yUV subsampling type of the pixels of a given image.

See: https://chromedevtools.github.io/devtools-protocol/tot/SystemInfo#type-SubsamplingFormat

const (
	SubsamplingFormatYuv420 SubsamplingFormat = "yuv420"
	SubsamplingFormatYuv422 SubsamplingFormat = "yuv422"
	SubsamplingFormatYuv444 SubsamplingFormat = "yuv444"
)

SubsamplingFormat values.

func (SubsamplingFormat) String

func (t SubsamplingFormat) String() string

String returns the SubsamplingFormat as string value.

func (*SubsamplingFormat) UnmarshalJSON

func (t *SubsamplingFormat) UnmarshalJSON(buf []byte) error

UnmarshalJSON satisfies [json.Unmarshaler].

type VideoDecodeAcceleratorCapability

type VideoDecodeAcceleratorCapability struct {
	Profile       string `json:"profile"`       // Video codec profile that is supported, e.g. VP9 Profile 2.
	MaxResolution *Size  `json:"maxResolution"` // Maximum video dimensions in pixels supported for this |profile|.
	MinResolution *Size  `json:"minResolution"` // Minimum video dimensions in pixels supported for this |profile|.
}

VideoDecodeAcceleratorCapability describes a supported video decoding profile with its associated minimum and maximum resolutions.

See: https://chromedevtools.github.io/devtools-protocol/tot/SystemInfo#type-VideoDecodeAcceleratorCapability

type VideoEncodeAcceleratorCapability

type VideoEncodeAcceleratorCapability struct {
	Profile                 string `json:"profile"`               // Video codec profile that is supported, e.g H264 Main.
	MaxResolution           *Size  `json:"maxResolution"`         // Maximum video dimensions in pixels supported for this |profile|.
	MaxFramerateNumerator   int64  `json:"maxFramerateNumerator"` // Maximum encoding framerate in frames per second supported for this |profile|, as fraction's numerator and denominator, e.g. 24/1 fps, 24000/1001 fps, etc.
	MaxFramerateDenominator int64  `json:"maxFramerateDenominator"`
}

VideoEncodeAcceleratorCapability describes a supported video encoding profile with its associated maximum resolution and maximum framerate.

See: https://chromedevtools.github.io/devtools-protocol/tot/SystemInfo#type-VideoEncodeAcceleratorCapability

Jump to

Keyboard shortcuts

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