Documentation ¶
Index ¶
Constants ¶
const KubernetesClusterNameLabel = "_kubernetes_cluster_name"
const KubernetesLocationLabel = "_kubernetes_location"
const ProjectIDLabel = "_stackdriver_project_id"
Variables ¶
var EC2ResourceMap = ResourceMap{ Type: "aws_ec2_instance", LabelMap: map[string]labelTranslation{ ProjectIDLabel: constValue("project_id"), "__meta_ec2_instance_id": constValue("instance_id"), "__meta_ec2_availability_zone": labelTranslation{ // contains filtered or unexported fields }, "__meta_ec2_owner_id": constValue("aws_account"), }, }
var GCEResourceMap = ResourceMap{ Type: "gce_instance", LabelMap: map[string]labelTranslation{ "__meta_gce_project": constValue("project_id"), "__meta_gce_instance_id": constValue("instance_id"), "__meta_gce_zone": labelTranslation{ // contains filtered or unexported fields }, }, }
var ResourceMappings = []ResourceMap{ { Type: "debug", LabelMap: map[string]labelTranslation{ "_debug": constValue("debug"), "__address__": constValue("address"), "job": constValue("job"), }, }, { Type: "k8s_container", LabelMap: map[string]labelTranslation{ ProjectIDLabel: constValue("project_id"), KubernetesLocationLabel: constValue("location"), KubernetesClusterNameLabel: constValue("cluster_name"), "__meta_kubernetes_namespace": constValue("namespace_name"), "__meta_kubernetes_pod_name": constValue("pod_name"), "__meta_kubernetes_pod_container_name": constValue("container_name"), }, }, { Type: "k8s_pod", LabelMap: map[string]labelTranslation{ ProjectIDLabel: constValue("project_id"), KubernetesLocationLabel: constValue("location"), KubernetesClusterNameLabel: constValue("cluster_name"), "__meta_kubernetes_namespace": constValue("namespace_name"), "__meta_kubernetes_pod_name": constValue("pod_name"), }, }, { Type: "k8s_node", LabelMap: map[string]labelTranslation{ ProjectIDLabel: constValue("project_id"), KubernetesLocationLabel: constValue("location"), KubernetesClusterNameLabel: constValue("cluster_name"), "__meta_kubernetes_node_name": constValue("node_name"), }, }, EC2ResourceMap, GCEResourceMap, }
TODO(jkohen): ensure these are sorted from more specific to less specific.
Functions ¶
func ReadProgressFile ¶
ReadPRogressFile reads the progress file in the given directory and returns the saved offset.
func SaveProgressFile ¶
SaveProgressFile saves a progress file with the given offset in directory.
Types ¶
type Appender ¶
type Appender interface {
Append(hash uint64, s *monitoring_pb.TimeSeries) error
}
Appender appends a time series with exactly one data point. A hash for the series (but not the data point) must be provided. The client may cache the computed hash more easily, which is why its part of the call and not done by the Appender's implementation.
type MetadataGetter ¶
type PrometheusReader ¶
type PrometheusReader struct {
// contains filtered or unexported fields
}
func NewPrometheusReader ¶
func NewPrometheusReader( logger log.Logger, walDirectory string, tailer *tail.Tailer, filters []*labels.Matcher, targetGetter TargetGetter, metadataGetter MetadataGetter, appender Appender, ) *PrometheusReader
NewPrometheusReader is the PrometheusReader constructor
type ResourceMap ¶
type TargetGetter ¶
type TargetGetter interface {
Get(ctx context.Context, lset labels.Labels) (*targets.Target, error)
}
func TargetsWithDiscoveredLabels ¶
func TargetsWithDiscoveredLabels(tg TargetGetter, lset labels.Labels) TargetGetter
TargetsWithDiscoveredLabels wraps a TargetGetter and adds a static set of labels to the discovered labels of all targets retrieved from it.