Documentation
¶
Index ¶
- Constants
- type BatchQueryIndexRecommendationsRequest
- type BatchQueryIndexRecommendationsResponse
- type Config
- type DatabaseIndexRecommendation
- type DatabaseQueryIds
- type FetchQueryStatsRequest
- type FetchQueryStatsResponse
- type FetchQueryTimeSeriesRequest
- type FetchQueryTimeSeriesResponse
- type FetchWaitEventStatsRequest
- type FetchWaitEventStatsResponse
- type FetchWaitEventTimeSeriesRequest
- type FetchWaitEventTimeSeriesResponse
- type Field
- type IndexRecommendation
- type Interval
- type QueryImprovement
- type ResultSetMetadata
- type Source
- func (s *Source) APIEndpoint() string
- func (s *Source) BatchQueryIndexRecommendations(ctx context.Context, req *BatchQueryIndexRecommendationsRequest) (*BatchQueryIndexRecommendationsResponse, error)
- func (s *Source) FetchQueryStats(ctx context.Context, req *FetchQueryStatsRequest) (*FetchQueryStatsResponse, error)
- func (s *Source) FetchQueryTimeSeries(ctx context.Context, req *FetchQueryTimeSeriesRequest) (*FetchQueryTimeSeriesResponse, error)
- func (s *Source) FetchWaitEventStats(ctx context.Context, req *FetchWaitEventStatsRequest) (*FetchWaitEventStatsResponse, error)
- func (s *Source) FetchWaitEventTimeSeries(ctx context.Context, req *FetchWaitEventTimeSeriesRequest) (*FetchWaitEventTimeSeriesResponse, error)
- func (s *Source) HTTPClient() *http.Client
- func (s *Source) ProjectID() string
- func (s *Source) SourceType() string
- func (s *Source) ToConfig() sources.SourceConfig
- type TimeSeries
- type TimeSeriesMetricValues
Constants ¶
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 (Config) SourceConfigType ¶
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 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 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 (*Source) BatchQueryIndexRecommendations ¶
func (s *Source) BatchQueryIndexRecommendations(ctx context.Context, req *BatchQueryIndexRecommendationsRequest) (*BatchQueryIndexRecommendationsResponse, error)
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 ¶
func (s *Source) FetchQueryTimeSeries(ctx context.Context, req *FetchQueryTimeSeriesRequest) (*FetchQueryTimeSeriesResponse, error)
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 ¶
func (s *Source) FetchWaitEventTimeSeries(ctx context.Context, req *FetchWaitEventTimeSeriesRequest) (*FetchWaitEventTimeSeriesResponse, error)
FetchWaitEventTimeSeries executes the FetchWaitEventTimeSeries REST API method.
func (*Source) HTTPClient ¶
func (*Source) SourceType ¶
func (*Source) ToConfig ¶
func (s *Source) ToConfig() sources.SourceConfig
type TimeSeries ¶
type TimeSeries struct {
GroupbyFieldValues []string `json:"groupbyFieldValues,omitempty"`
Values []TimeSeriesMetricValues `json:"values,omitempty"`
}