Documentation
¶
Index ¶
- Constants
- Variables
- type AzRoute
- type AzureMonitorDimensionFilter
- type AzureMonitorJSONQuery
- type AzureMonitorQuery
- type AzureMonitorResponse
- type AzureMonitorSettings
- type AzureResponseTable
- type DatasourceInfo
- type DatasourceService
- type LogJSONQuery
- type MetricChartDefinition
- type MetricVisualization
- type ServiceProxy
Constants ¶
const (
TimeSeries = "time_series"
)
Variables ¶
var (
LegendKeyFormat = regexp.MustCompile(`\{\{\s*(.+?)\s*\}\}`)
)
Functions ¶
This section is empty.
Types ¶
type AzureMonitorDimensionFilter ¶
type AzureMonitorDimensionFilter struct {
Dimension string `json:"dimension"`
Operator string `json:"operator"`
Filter string `json:"filter"`
}
AzureMonitorDimensionFilter is the model for the frontend sent for azureMonitor metric queries like "BlobType", "eq", "*"
func (AzureMonitorDimensionFilter) String ¶
func (a AzureMonitorDimensionFilter) String() string
type AzureMonitorJSONQuery ¶
type AzureMonitorJSONQuery struct {
AzureMonitor struct {
ResourceURI string `json:"resourceUri"`
MetricNamespace string `json:"metricNamespace"`
MetricName string `json:"metricName"`
Aggregation string `json:"aggregation"`
Alias string `json:"alias"`
DimensionFilters []AzureMonitorDimensionFilter `json:"dimensionFilters"` // new model
TimeGrain string `json:"timeGrain"`
Top string `json:"top"`
// Legecy "resource" fields from before the resource picker provided just a single ResourceURI
// These are used for pre-resource picker queries to reconstruct a resource URI
MetricDefinition string `json:"metricDefinition"`
ResourceGroup string `json:"resourceGroup"`
ResourceName string `json:"resourceName"`
AllowedTimeGrainsMs []int64 `json:"allowedTimeGrainsMs"`
Dimension string `json:"dimension"` // old model
DimensionFilter string `json:"dimensionFilter"` // old model
Format string `json:"format"`
} `json:"azureMonitor"`
Subscription string `json:"subscription"`
}
AzureMonitorJSONQuery is the frontend JSON query model for an Azure Monitor query.
type AzureMonitorQuery ¶
type AzureMonitorQuery struct {
URL string
UrlComponents map[string]string
Target string
Params url.Values
RefID string
Alias string
TimeRange backend.TimeRange
}
AzureMonitorQuery is the query for all the services as they have similar queries with a url, a querystring and an alias field
type AzureMonitorResponse ¶
type AzureMonitorResponse struct {
Cost int `json:"cost"`
Timespan string `json:"timespan"`
Interval string `json:"interval"`
Value []struct {
ID string `json:"id"`
Type string `json:"type"`
Name struct {
Value string `json:"value"`
LocalizedValue string `json:"localizedValue"`
} `json:"name"`
Unit string `json:"unit"`
Timeseries []struct {
Metadatavalues []struct {
Name struct {
Value string `json:"value"`
LocalizedValue string `json:"localizedValue"`
} `json:"name"`
Value string `json:"value"`
} `json:"metadatavalues"`
Data []struct {
TimeStamp time.Time `json:"timeStamp"`
Average *float64 `json:"average,omitempty"`
Total *float64 `json:"total,omitempty"`
Count *float64 `json:"count,omitempty"`
Maximum *float64 `json:"maximum,omitempty"`
Minimum *float64 `json:"minimum,omitempty"`
} `json:"data"`
} `json:"timeseries"`
} `json:"value"`
Namespace string `json:"namespace"`
Resourceregion string `json:"resourceregion"`
}
AzureMonitorResponse is the json response from the Azure Monitor API
type AzureMonitorSettings ¶
type AzureResponseTable ¶
type AzureResponseTable struct {
Name string `json:"name"`
Columns []struct {
Name string `json:"name"`
Type string `json:"type"`
} `json:"columns"`
Rows [][]interface{} `json:"rows"`
}
AzureResponseTable is the table format for Azure responses
type DatasourceInfo ¶
type DatasourceInfo struct {
Cloud string
Credentials azcredentials.AzureCredentials
Settings AzureMonitorSettings
Routes map[string]AzRoute
Services map[string]DatasourceService
JSONData map[string]interface{}
DecryptedSecureJSONData map[string]string
DatasourceID int64
OrgID int64
}
type DatasourceService ¶
type LogJSONQuery ¶
type LogJSONQuery struct {
AzureLogAnalytics struct {
Query string `json:"query"`
ResultFormat string `json:"resultFormat"`
Resource string `json:"resource"`
// Deprecated: Queries should be migrated to use Resource instead
Workspace string `json:"workspace"`
} `json:"azureLogAnalytics"`
}
LogJSONQuery is the frontend JSON query model for an Azure Log Analytics query.
type MetricChartDefinition ¶
type MetricChartDefinition struct {
ResourceMetadata map[string]string `json:"resourceMetadata"`
Name string `json:"name"`
AggregationType int `json:"aggregationType"`
Namespace string `json:"namespace"`
MetricVisualization MetricVisualization `json:"metricVisualization"`
}
MetricChartDefinition is the JSON model for a metrics chart definition
type MetricVisualization ¶
type MetricVisualization struct {
DisplayName string `json:"displayName"`
ResourceDisplayName string `json:"resourceDisplayName"`
}
MetricVisualization is the JSON model for the visualization field of a metricChartDefinition
type ServiceProxy ¶
type ServiceProxy interface {
Do(rw http.ResponseWriter, req *http.Request, cli *http.Client) http.ResponseWriter
}