Documentation
¶
Index ¶
- Variables
- type EntityMetric
- type IntervalList
- type Manager
- func (m *Manager) AvailableMetric(ctx context.Context, entity types.ManagedObjectReference, interval int32) (MetricList, error)
- func (m *Manager) CounterInfo(ctx context.Context) ([]types.PerfCounterInfo, error)
- func (m *Manager) CounterInfoByKey(ctx context.Context) (map[int32]*types.PerfCounterInfo, error)
- func (m *Manager) CounterInfoByName(ctx context.Context) (map[string]*types.PerfCounterInfo, error)
- func (m *Manager) HistoricalInterval(ctx context.Context) (IntervalList, error)
- func (m *Manager) ProviderSummary(ctx context.Context, entity types.ManagedObjectReference) (*types.PerfProviderSummary, error)
- func (m *Manager) Query(ctx context.Context, spec []types.PerfQuerySpec) ([]types.BasePerfEntityMetricBase, error)
- func (m *Manager) QueryCounter(ctx context.Context, ids []int32) ([]types.PerfCounterInfo, error)
- func (m *Manager) SampleByName(ctx context.Context, spec types.PerfQuerySpec, metrics []string, ...) ([]types.BasePerfEntityMetricBase, error)
- func (m *Manager) ToMetricSeries(ctx context.Context, series []types.BasePerfEntityMetricBase) ([]EntityMetric, error)
- type MetricList
- type MetricSeries
Examples ¶
Constants ¶
This section is empty.
Variables ¶
var (
// Intervals maps name to seconds for the built-in historical intervals
Intervals = map[string]int32{
"real": 0,
"day": 300,
"week": 1800,
"month": 7200,
"year": 86400,
}
)
Functions ¶
This section is empty.
Types ¶
type EntityMetric ¶
type EntityMetric struct {
Entity types.ManagedObjectReference
SampleInfo []types.PerfSampleInfo
Value []MetricSeries
}
EntityMetric contains the same data as types.PerfEntityMetric, but with MetricSeries type for the Value field.
func (*EntityMetric) SampleInfoCSV ¶
func (m *EntityMetric) SampleInfoCSV() string
SampleInfoCSV converts the SampleInfo field to a CSV string
type Manager ¶
type Manager struct {
object.Common
Sort bool
// contains filtered or unexported fields
}
Manager wraps mo.PerformanceManager.
func NewManager ¶
func NewManager(client *vim25.Client) *Manager
NewManager creates a new Manager instance.
func (*Manager) AvailableMetric ¶
func (m *Manager) AvailableMetric(ctx context.Context, entity types.ManagedObjectReference, interval int32) (MetricList, error)
AvailableMetric wraps the QueryAvailablePerfMetric method. The MetricList is sorted by PerfCounterInfo.GroupInfo.Key if Manager.Sort == true.
func (*Manager) CounterInfo ¶
func (m *Manager) CounterInfo(ctx context.Context) ([]types.PerfCounterInfo, error)
CounterInfo gets the PerformanceManager.PerfCounter property. The property value is only collected once, subsequent calls return the cached value.
func (*Manager) CounterInfoByKey ¶
func (m *Manager) CounterInfoByKey(ctx context.Context) (map[int32]*types.PerfCounterInfo, error)
CounterInfoByKey converts the PerformanceManager.PerfCounter property to a map, where key is types.PerfCounterInfo.Key.
func (*Manager) CounterInfoByName ¶
func (m *Manager) CounterInfoByName(ctx context.Context) (map[string]*types.PerfCounterInfo, error)
CounterInfoByName converts the PerformanceManager.PerfCounter property to a map, where key is types.PerfCounterInfo.Name().
func (*Manager) HistoricalInterval ¶
func (m *Manager) HistoricalInterval(ctx context.Context) (IntervalList, error)
HistoricalInterval gets the PerformanceManager.HistoricalInterval property and wraps as an IntervalList.
func (*Manager) ProviderSummary ¶
func (m *Manager) ProviderSummary(ctx context.Context, entity types.ManagedObjectReference) (*types.PerfProviderSummary, error)
ProviderSummary wraps the QueryPerfProviderSummary method, caching the value based on entity.Type.
func (*Manager) Query ¶
func (m *Manager) Query(ctx context.Context, spec []types.PerfQuerySpec) ([]types.BasePerfEntityMetricBase, error)
Query wraps the QueryPerf method.
func (*Manager) QueryCounter ¶ added in v0.26.0
func (m *Manager) QueryCounter(ctx context.Context, ids []int32) ([]types.PerfCounterInfo, error)
QueryCounter wraps the QueryPerfCounter method.
func (*Manager) SampleByName ¶
func (m *Manager) SampleByName(ctx context.Context, spec types.PerfQuerySpec, metrics []string, entity []types.ManagedObjectReference) ([]types.BasePerfEntityMetricBase, error)
SampleByName uses the spec param as a template, constructing a []types.PerfQuerySpec for the given metrics and entities and invoking the Query method. The spec template can specify instances using the MetricId.Instance field, by default all instances are collected. The spec template MaxSample defaults to 1. If the spec template IntervalId is a historical interval and StartTime is not specified, the StartTime is set to the current time - (IntervalId * MaxSample).
func (*Manager) ToMetricSeries ¶
func (m *Manager) ToMetricSeries(ctx context.Context, series []types.BasePerfEntityMetricBase) ([]EntityMetric, error)
ToMetricSeries converts []BasePerfEntityMetricBase to []EntityMetric
Example ¶
Output: DC0_H0_VM0 * sys.uptime.latest s DC0_H0_VM1 * sys.uptime.latest s DC0_C0_RP0_VM0 * sys.uptime.latest s DC0_C0_RP0_VM1 * sys.uptime.latest s
type MetricSeries ¶
type MetricSeries struct {
Name string
Instance string
Value []int64
// contains filtered or unexported fields
}
MetricSeries contains the same data as types.PerfMetricIntSeries, but with the CounterId converted to Name.