Documentation ¶
Overview ¶
Package plugins provides a programmatic API for interacting with the New Relic Plugins product. It can be used for a variety of operations, including:
- Reading plugins
- Reading plugin components
- Reading plugin component metric data
Authentication ¶
You will need a valid Admin API key to communicate with the backend New Relic APIs that provide this functionality. See the API key documentation below for more information on how to locate this key:
https://docs.newrelic.com/docs/apis/get-started/intro-apis/types-new-relic-api-keys
Package plugins provides a programmatic API for interacting with the New Relic Plugins product.
Index ¶
- type Component
- type ComponentMetric
- type GetComponentMetricDataParams
- type GetPluginParams
- type ListComponentMetricsParams
- type ListComponentsParams
- type ListPluginsParams
- type Metric
- type MetricThreshold
- type MetricTimeslice
- type MetricValue
- type Plugin
- type PluginDetails
- type Plugins
- func (p *Plugins) GetComponent(componentID int) (*Component, error)
- func (p *Plugins) GetComponentMetricData(componentID int, params *GetComponentMetricDataParams) ([]*Metric, error)
- func (p *Plugins) GetPlugin(id int, params *GetPluginParams) (*Plugin, error)
- func (p *Plugins) ListComponentMetrics(componentID int, params *ListComponentMetricsParams) ([]*ComponentMetric, error)
- func (p *Plugins) ListComponents(params *ListComponentsParams) ([]*Component, error)
- func (p *Plugins) ListPlugins(params *ListPluginsParams) ([]*Plugin, error)
- type SummaryMetric
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Component ¶
type Component struct { ID int `json:"id"` Name string `json:"name,omitempty"` HealthStatus string `json:"health_status,omitempty"` SummaryMetrics []SummaryMetric `json:"summary_metrics"` }
Component represents information about a New Relic Plugins component.
type ComponentMetric ¶
ComponentMetric represents metric information for a specific component.
type GetComponentMetricDataParams ¶
type GetComponentMetricDataParams struct { // Names allows retrieval of specific metrics by name. // At least one metric name is required. Names []string `url:"names[],omitempty"` // Values allows retrieval of specific metric values. Values []string `url:"values[],omitempty"` // From specifies a begin time for the query. From *time.Time `url:"from,omitempty"` // To specifies an end time for the query. To *time.Time `url:"to,omitempty"` // Period represents the period of timeslices in seconds. Period int `url:"period,omitempty"` // Summarize will summarize the data when set to true. Summarize bool `url:"summarize,omitempty"` // Raw will return unformatted raw values when set to true. Raw bool `url:"raw,omitempty"` }
GetComponentMetricDataParams represents a set of parameters to be used when querying New Relic component metric data.
type GetPluginParams ¶
type GetPluginParams struct {
Detailed bool `url:"detailed,omitempty"`
}
GetPluginParams represents a set of query string parameters to apply to the request.
type ListComponentMetricsParams ¶
type ListComponentMetricsParams struct { // Name allows for filtering the returned list of metrics by name. Name string `url:"name,omitempty"` }
ListComponentMetricsParams represents a set of parameters to be used when querying New Relic component metrics.
type ListComponentsParams ¶
type ListComponentsParams struct { Name string `url:"filter[name],omitempty"` IDs []int `url:"filter[ids],omitempty,comma"` PluginID int `url:"filter[plugin_id],omitempty"` HealthStatus bool `url:"health_status,omitempty"` }
ListComponentsParams represents a set of filters to be used when querying New Relic applications.
type ListPluginsParams ¶
type ListPluginsParams struct { GUID string `url:"filter[guid],omitempty"` IDs []int `url:"filter[ids],omitempty,comma"` Detailed bool `url:"detailed,omitempty"` }
ListPluginsParams represents a set of query string parameters used as filters when querying New Relic plugins.
type Metric ¶
type Metric struct { Name string `json:"name"` Timeslices []MetricTimeslice `json:"timeslices"` }
Metric represents data for a specific metric.
type MetricThreshold ¶
MetricThreshold represents a threshold value for a metric.
type MetricTimeslice ¶
type MetricTimeslice struct { From *time.Time `json:"from,omitempty"` To *time.Time `json:"to,omitempty"` Values map[string]float64 `json:"values,omitempty"` }
MetricTimeslice represents the values of a metric over a given time.
type MetricValue ¶
MetricValue represents the observed value of a metric.
type Plugin ¶
type Plugin struct { ID int `json:"id"` Name string `json:"name,omitempty"` GUID string `json:"guid,omitempty"` Publisher string `json:"publisher,omitempty"` ComponentAgentCount int `json:"component_agent_count"` Details PluginDetails `json:"details"` SummaryMetrics []SummaryMetric `json:"summary_metrics"` }
Plugin represents information about a New Relic plugin.
type PluginDetails ¶
type PluginDetails struct { Description string `json:"description"` CreatedAt string `json:"created_at,omitempty"` UpdatedAt string `json:"updated_at,omitempty"` LastPublishedAt string `json:"last_published_at,omitempty"` BrandingImageURL string `json:"branding_image_url"` UpgradedAt string `json:"upgraded_at,omitempty"` ShortName string `json:"short_name"` PublisherAboutURL string `json:"publisher_about_url"` PublisherSupportURL string `json:"publisher_support_url"` DownloadURL string `json:"download_url"` FirstEditedAt string `json:"first_edited_at,omitempty"` LastEditedAt string `json:"last_edited_at,omitempty"` FirstPublishedAt string `json:"first_published_at,omitempty"` PublishedVersion string `json:"published_version"` HasUnpublishedChanges bool `json:"has_unpublished_changes"` IsPublic bool `json:"is_public"` }
PluginDetails represents information about a New Relic plugin.
type Plugins ¶
type Plugins struct {
// contains filtered or unexported fields
}
Plugins is used to communicate with the New Relic Plugins product.
func (*Plugins) GetComponent ¶
GetComponent is used to retrieve a specific New Relic component.
func (*Plugins) GetComponentMetricData ¶
func (p *Plugins) GetComponentMetricData(componentID int, params *GetComponentMetricDataParams) ([]*Metric, error)
GetComponentMetricData is used to retrieve the metric timeslice data for a specific component metric.
func (*Plugins) GetPlugin ¶
func (p *Plugins) GetPlugin(id int, params *GetPluginParams) (*Plugin, error)
GetPlugin returns a plugin for a given account. If the query paramater `detailed=true` is provided, the response will contain an additional `details` property with metadata pertaining to the plugin.
func (*Plugins) ListComponentMetrics ¶
func (p *Plugins) ListComponentMetrics(componentID int, params *ListComponentMetricsParams) ([]*ComponentMetric, error)
ListComponentMetrics is used to retrieve the metrics for a specific New Relic component.
func (*Plugins) ListComponents ¶
func (p *Plugins) ListComponents(params *ListComponentsParams) ([]*Component, error)
ListComponents is used to retrieve the components associated with a New Relic account.
func (*Plugins) ListPlugins ¶
func (p *Plugins) ListPlugins(params *ListPluginsParams) ([]*Plugin, error)
ListPlugins returns a list of Plugins associated with an account. If the query paramater `detailed=true` is provided, the plugins response objects will contain an additional `details` property with metadata pertaining to each plugin.
type SummaryMetric ¶
type SummaryMetric struct { ID int `json:"id"` Name string `json:"name"` Metric string `json:"metric"` ValueFunction string `json:"value_function"` Thresholds MetricThreshold `json:"thresholds"` Values MetricValue `json:"values"` }
SummaryMetric represents summary information for a specific metric.