databaseinsights

package
v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Aug 27, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const SourceKind string = "databaseinsights"

Variables

This section is empty.

Functions

This section is empty.

Types

type BatchQueryIndexRecommendationsRequest

type BatchQueryIndexRecommendationsRequest struct {
	Parent           string             `json:"parent"`
	FullResourceName string             `json:"fullResourceName"`
	DatabaseQueryIds []DatabaseQueryIds `json:"databaseQueryIds"`
}

BatchQueryIndexRecommendationsRequest is the payload for fetching index recommendations.

type BatchQueryIndexRecommendationsResponse

type BatchQueryIndexRecommendationsResponse struct {
	DatabaseIndexRecommendations []DatabaseIndexRecommendation `json:"databaseIndexRecommendations"`
}

BatchQueryIndexRecommendationsResponse contains index recommendations.

type Config

type Config struct {
	Name     string `yaml:"name" validate:"required"`
	Type     string `yaml:"type" validate:"required"`
	Project  string `yaml:"project"`  // Optional: fallback billing project
	Endpoint string `yaml:"endpoint"` // Optional: override endpoint for staging/testing
}

func (Config) Initialize

func (cfg Config) Initialize(ctx context.Context, tracer trace.Tracer) (sources.Source, error)

func (Config) SourceConfigType

func (cfg Config) SourceConfigType() string

type DatabaseIndexRecommendation

type DatabaseIndexRecommendation struct {
	Database             string                      `json:"database"`
	IndexRecommendations []IndexRecommendation       `json:"indexRecommendations"`
	QueryImprovements    map[string]QueryImprovement `json:"queryImprovements"`
}

DatabaseIndexRecommendation represents recommendations for a specific database.

type DatabaseQueryIds

type DatabaseQueryIds struct {
	Database string   `json:"database"`
	QueryIDs []string `json:"queryIds"`
}

DatabaseQueryIds represents a database name and a list of query IDs.

type FetchQueryStatsRequest

type FetchQueryStatsRequest struct {
	Parent           string `json:"parent"`
	FullResourceName string `json:"fullResourceName"`
	StartTime        string `json:"startTime,omitempty"`
	EndTime          string `json:"endTime,omitempty"`
	Database         string `json:"database,omitempty"`
	Username         string `json:"username,omitempty"`
	QueryID          string `json:"queryId,omitempty"`
	PageSize         int32  `json:"pageSize,omitempty"`
	PageToken        string `json:"pageToken,omitempty"`
}

FetchQueryStatsRequest is the payload for fetching query execution stats.

type FetchQueryStatsResponse

type FetchQueryStatsResponse struct {
	Results   [][]any           `json:"results,omitempty"`
	Metadata  ResultSetMetadata `json:"metadata,omitempty"`
	PageToken string            `json:"nextPageToken,omitempty"`
}

FetchQueryStatsResponse contains the results.

type FetchQueryTimeSeriesRequest

type FetchQueryTimeSeriesRequest struct {
	Parent           string `json:"parent"`
	FullResourceName string `json:"fullResourceName"`
	StartTime        string `json:"startTime,omitempty"`
	EndTime          string `json:"endTime,omitempty"`
	Database         string `json:"database,omitempty"`
	Username         string `json:"username,omitempty"`
	QueryID          string `json:"queryId,omitempty"`
}

FetchQueryTimeSeriesRequest payload.

type FetchQueryTimeSeriesResponse

type FetchQueryTimeSeriesResponse struct {
	TimeSeries []TimeSeries      `json:"timeseries,omitempty"`
	Metadata   ResultSetMetadata `json:"metadata,omitempty"`
}

FetchQueryTimeSeriesResponse contains the time-series stats.

type FetchWaitEventStatsRequest

type FetchWaitEventStatsRequest struct {
	Parent           string `json:"parent"`
	FullResourceName string `json:"fullResourceName"`
	StartTime        string `json:"startTime,omitempty"`
	EndTime          string `json:"endTime,omitempty"`
	Database         string `json:"database,omitempty"`
	Username         string `json:"username,omitempty"`
	QueryID          string `json:"queryId,omitempty"`
	PageSize         int32  `json:"pageSize,omitempty"`
	PageToken        string `json:"pageToken,omitempty"`
	View             string `json:"view,omitempty"`
}

FetchWaitEventStatsRequest is the payload for wait event stats.

type FetchWaitEventStatsResponse

type FetchWaitEventStatsResponse struct {
	Results   [][]any           `json:"results,omitempty"`
	Metadata  ResultSetMetadata `json:"metadata,omitempty"`
	PageToken string            `json:"nextPageToken,omitempty"`
}

FetchWaitEventStatsResponse contains wait event stats results.

type FetchWaitEventTimeSeriesRequest

type FetchWaitEventTimeSeriesRequest struct {
	Parent           string `json:"parent"`
	FullResourceName string `json:"fullResourceName"`
	StartTime        string `json:"startTime,omitempty"`
	EndTime          string `json:"endTime,omitempty"`
	Database         string `json:"database,omitempty"`
	Username         string `json:"username,omitempty"`
	QueryID          string `json:"queryId,omitempty"`
	View             string `json:"view,omitempty"`
}

FetchWaitEventTimeSeriesRequest payload.

type FetchWaitEventTimeSeriesResponse

type FetchWaitEventTimeSeriesResponse struct {
	TimeSeries []TimeSeries      `json:"timeseries,omitempty"`
	Metadata   ResultSetMetadata `json:"metadata,omitempty"`
}

FetchWaitEventTimeSeriesResponse contains wait event time series.

type Field

type Field struct {
	Name string `json:"name"`
	Type string `json:"type"`
}

Field represents a column schema in a result set metadata.

type IndexRecommendation

type IndexRecommendation struct {
	SQLCommand                string   `json:"sqlCommand"`
	Schema                    string   `json:"schema"`
	Relation                  string   `json:"relation"`
	Columns                   []string `json:"columns"`
	EstimatedStorageSizeBytes int64    `json:"estimatedStorageSizeBytes,string"`
	ImpactedQueryIds          []string `json:"impactedQueryIds"`
}

IndexRecommendation represents a single index suggestion.

type Interval

type Interval struct {
	StartTime string `json:"startTime,omitempty"`
	EndTime   string `json:"endTime,omitempty"`
}

type QueryImprovement

type QueryImprovement struct {
	QueryID                            string   `json:"queryId"`
	IndexRecommendationIds             []string `json:"indexRecommendationIds"`
	CurrentTotalExecutionDuration      string   `json:"currentTotalExecutionDuration"`
	EstimatedNewTotalExecutionDuration string   `json:"estimatedNewTotalExecutionDuration"`
}

QueryImprovement details performance gains.

type ResultSetMetadata

type ResultSetMetadata struct {
	Fields []Field `json:"fields"`
}

ResultSetMetadata contains column definitions.

type Source

type Source struct {
	Config
	// contains filtered or unexported fields
}

func (*Source) APIEndpoint

func (s *Source) APIEndpoint() string

func (*Source) BatchQueryIndexRecommendations

BatchQueryIndexRecommendations executes the BatchQueryIndexRecommendations REST API method.

func (*Source) FetchQueryStats

func (s *Source) FetchQueryStats(ctx context.Context, req *FetchQueryStatsRequest) (*FetchQueryStatsResponse, error)

FetchQueryStats executes the FetchQueryStats REST API method.

func (*Source) FetchQueryTimeSeries

FetchQueryTimeSeries executes the FetchQueryTimeSeries REST API method.

func (*Source) FetchWaitEventStats

func (s *Source) FetchWaitEventStats(ctx context.Context, req *FetchWaitEventStatsRequest) (*FetchWaitEventStatsResponse, error)

FetchWaitEventStats executes the FetchWaitEventStats REST API method.

func (*Source) FetchWaitEventTimeSeries

FetchWaitEventTimeSeries executes the FetchWaitEventTimeSeries REST API method.

func (*Source) HTTPClient

func (s *Source) HTTPClient() *http.Client

func (*Source) IsReadOnly added in v1.10.0

func (s *Source) IsReadOnly() bool

func (*Source) ProjectID

func (s *Source) ProjectID() string

func (*Source) SourceType

func (s *Source) SourceType() string

func (*Source) ToConfig

func (s *Source) ToConfig() sources.SourceConfig

type TimeSeries

type TimeSeries struct {
	GroupbyFieldValues []string                 `json:"groupbyFieldValues,omitempty"`
	Values             []TimeSeriesMetricValues `json:"values,omitempty"`
}

type TimeSeriesMetricValues

type TimeSeriesMetricValues struct {
	Interval Interval       `json:"interval,omitempty"`
	Value    any            `json:"value,omitempty"`
	Metadata map[string]any `json:"metadata,omitempty"`
}

Jump to

Keyboard shortcuts

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