v1alpha1

package
v0.0.0-...-06b1f50 Latest Latest
Warning

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

Go to latest
Published: Jan 23, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the exporter v1alpha1 API group +kubebuilder:object:generate=true +groupName=exporter.thrawny.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "exporter.thrawny.com", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type InstrumentSpec

type InstrumentSpec struct {

	// Name is the subresource being intrumented or tracked
	Name string `json:"name,omitempty"`

	// UnitAggregation refers to how the Unit is being tracked. _count or _total for sum,
	UnitAggregation string `json:"unit,omitempty"`

	// Type represents the time series metric type. https://prometheus.io/docs/concepts/metric_types/
	Type InstrumentType `json:"type,omitempty"`

	// ValueJSONPath sets the field or strategy for determining the time series value
	ValueJSONPath string `json:"valueJSONPath,omitempty"`

	// AdditionalLabelsFromFields is formatted as LabelName:
	AdditionalLabelsFromFields map[string]string `json:"additionalLabelsFromFields,omitempty"`
}

InstrumentSpec configures a time

func (*InstrumentSpec) DeepCopy

func (in *InstrumentSpec) DeepCopy() *InstrumentSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstrumentSpec.

func (*InstrumentSpec) DeepCopyInto

func (in *InstrumentSpec) DeepCopyInto(out *InstrumentSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstrumentType

type InstrumentType string

InstrumentType represents the time series metric type. https://prometheus.io/docs/concepts/metric_types/

const (
	// GaugeInstrumentType represents a prometheus gauge time series type. See: https://prometheus.io/docs/concepts/metric_types/#gauge
	GaugeInstrumentType InstrumentType = "Gauge"

	// CounterInstrumentType represents a prometheus gauge time series type. See: https://prometheus.io/docs/concepts/metric_types/#counter
	CounterInstrumentType InstrumentType = "Counter"
)

type ObjectExporter

type ObjectExporter struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ObjectExporterSpec   `json:"spec,omitempty"`
	Status ObjectExporterStatus `json:"status,omitempty"`
}

ObjectExporter is the Schema for the objectexporters API

func (*ObjectExporter) DeepCopy

func (in *ObjectExporter) DeepCopy() *ObjectExporter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectExporter.

func (*ObjectExporter) DeepCopyInto

func (in *ObjectExporter) DeepCopyInto(out *ObjectExporter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ObjectExporter) DeepCopyObject

func (in *ObjectExporter) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ObjectExporterList

type ObjectExporterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ObjectExporter `json:"items"`
}

ObjectExporterList contains a list of ObjectExporter

func (*ObjectExporterList) DeepCopy

func (in *ObjectExporterList) DeepCopy() *ObjectExporterList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectExporterList.

func (*ObjectExporterList) DeepCopyInto

func (in *ObjectExporterList) DeepCopyInto(out *ObjectExporterList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ObjectExporterList) DeepCopyObject

func (in *ObjectExporterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ObjectExporterSpec

type ObjectExporterSpec struct {
	Identifier ResourceIdentifier `json:"identifier,omitempty"`

	// Intruments is a list of time series specs that will be exported for the Resource Identifier
	Intruments []InstrumentSpec `json:"identifier,omitempty"`

	// Description regroups information and metadata about an application.
	Description string `json:"description,omitempty"`
}

ObjectExporterSpec defines the desired state of ObjectExporter

func (*ObjectExporterSpec) DeepCopy

func (in *ObjectExporterSpec) DeepCopy() *ObjectExporterSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectExporterSpec.

func (*ObjectExporterSpec) DeepCopyInto

func (in *ObjectExporterSpec) DeepCopyInto(out *ObjectExporterSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ObjectExporterStatus

type ObjectExporterStatus struct {

	// A count of objects being counted
	InstrumentedResourceCount int64 `json:"instrumentedResourceCount,omitempty"`

	// ExportedTimeSeries is a preview of the time series exported
	ExportedTimeSeries []string `json:"exportedTimeSeries,omitempty"`
}

ObjectExporterStatus defines the observed state of ObjectExporter

func (*ObjectExporterStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectExporterStatus.

func (*ObjectExporterStatus) DeepCopyInto

func (in *ObjectExporterStatus) DeepCopyInto(out *ObjectExporterStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceIdentifier

type ResourceIdentifier struct {

	// GCK indicated the GroupVersionKind of the resource we are tracking
	metav1.GroupVersionKind `json:",inline"`

	// Selector is a label query over the indicated GVK to filter out resource not desired for this exporter
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
}

ResourceIdentifier is the identifier of the underlying kube resource

func (*ResourceIdentifier) DeepCopy

func (in *ResourceIdentifier) DeepCopy() *ResourceIdentifier

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceIdentifier.

func (*ResourceIdentifier) DeepCopyInto

func (in *ResourceIdentifier) DeepCopyInto(out *ResourceIdentifier)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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