Documentation
¶
Overview ¶
Copyright 2020 New Relic Corporation. All rights reserved. SPDX-License-Identifier: Apache-2.0
Copyright 2020 New Relic Corporation. All rights reserved. SPDX-License-Identifier: Apache-2.0
Index ¶
- Constants
- Variables
- type DisconnectReason
- type IdentityConnectClient
- type IdentityResponse
- type Metadata
- type MetadataHarvester
- type MetadataHarvesterDefault
- type MetadataHarvesterMock
- type RegisterClient
- type RegisterClientMock
- func (r *RegisterClientMock) RegisterBatchEntities(agentEntityID entity.ID, entities []entity.Fields) ([]RegisterEntityResponse, error)
- func (r *RegisterClientMock) RegisterEntitiesRemoveMe(agentEntityID entity.ID, entities []RegisterEntity) ([]RegisterEntityResponse, time.Duration, error)
- func (r *RegisterClientMock) RegisterEntity(agentEntityID entity.ID, entity entity.Fields) (RegisterEntityResponse, error)
- func (r *RegisterClientMock) ShouldFailRegisterEntitiesRemoveMe(agentEntityID entity.ID, entities []RegisterEntity, duration time.Duration, ...)
- func (r *RegisterClientMock) ShouldRegisterBatchEntities(agentEntityID entity.ID, entities []entity.Fields, ...)
- func (r *RegisterClientMock) ShouldRegisterEntitiesRemoveMe(agentEntityID entity.ID, entities []RegisterEntity, ...)
- type RegisterEntity
- type RegisterEntityError
- type RegisterEntityResponse
Constants ¶
const ( // StatusCodeLimitExceed is returned when platform limit for entity registration exeeded. StatusCodeLimitExceed int = 503 // StatusCodeConFailure is returned when there is a connection failure. StatusCodeConFailure int = 429 )
Variables ¶
var ( EmptyRetryTime = time.Duration(0) // Errors ErrEmptyAgentID = errors.New("empty agent id") )
Functions ¶
This section is empty.
Types ¶
type DisconnectReason ¶
type DisconnectReason string
DisconnectReason is sent with disconnect call.
const ( // ReasonHostShutdown is reported when the host running the agent will shutdown. ReasonHostShutdown DisconnectReason = "shutdown" )
type IdentityConnectClient ¶
type IdentityConnectClient interface {
Connect(fingerprint fingerprint.Fingerprint, metadata Metadata) (entity.Identity, backendhttp.RetryPolicy, error)
ConnectUpdate(entityID entity.Identity, fingerprint fingerprint.Fingerprint, metadata Metadata) (backendhttp.RetryPolicy, entity.Identity, error)
Disconnect(entityID entity.ID, reason DisconnectReason) error
}
func NewIdentityConnectClient ¶
func NewIdentityConnectClient( svcUrl, licenseKey, userAgent string, compressionLevel int, containerizedAgent bool, httpClient backendhttp.Client, ) (IdentityConnectClient, error)
type IdentityResponse ¶
func (*IdentityResponse) ToIdentity ¶
func (r *IdentityResponse) ToIdentity() entity.Identity
ToIdentity converts response into entity identity
type MetadataHarvester ¶ added in v1.67.3
type MetadataHarvesterDefault ¶ added in v1.67.3
type MetadataHarvesterDefault struct {
// contains filtered or unexported fields
}
func NewMetadataHarvesterDefault ¶ added in v1.67.3
func NewMetadataHarvesterDefault(hostIDProvider hostid.Provider) *MetadataHarvesterDefault
func (*MetadataHarvesterDefault) Harvest ¶ added in v1.67.3
func (h *MetadataHarvesterDefault) Harvest() (Metadata, error)
type MetadataHarvesterMock ¶ added in v1.67.3
func (*MetadataHarvesterMock) Harvest ¶ added in v1.67.3
func (m *MetadataHarvesterMock) Harvest() (Metadata, error)
func (*MetadataHarvesterMock) ShouldHarvest ¶ added in v1.67.3
func (m *MetadataHarvesterMock) ShouldHarvest(metadata Metadata)
func (*MetadataHarvesterMock) ShouldNotHarvest ¶ added in v1.67.3
func (m *MetadataHarvesterMock) ShouldNotHarvest(err error)
type RegisterClient ¶
type RegisterClient interface {
// Deprecated: method to be removed at the end of this completing this feature
RegisterEntitiesRemoveMe(agentEntityID entity.ID, entities []RegisterEntity) ([]RegisterEntityResponse, time.Duration, error)
// RegisterBatchEntities registers a slice of protocol.Entity. This is done as a batch process
RegisterBatchEntities(agentEntityID entity.ID, entities []entity.Fields) ([]RegisterEntityResponse, error)
// RegisterEntity registers a protocol.Entity
RegisterEntity(agentEntityID entity.ID, entity entity.Fields) (RegisterEntityResponse, error)
}
RegisterClient provides the ability to register either a single entity or a "batch" of entities.
func NewRegisterClient ¶
func NewRegisterClient( svcUrl, licenseKey, userAgent string, compressionLevel int, httpClient *http.Client, ) (RegisterClient, error)
NewRegisterClient returns an implementation of RegisterClient
type RegisterClientMock ¶ added in v0.1.0
func (*RegisterClientMock) RegisterBatchEntities ¶ added in v0.1.0
func (r *RegisterClientMock) RegisterBatchEntities(agentEntityID entity.ID, entities []entity.Fields) ([]RegisterEntityResponse, error)
func (*RegisterClientMock) RegisterEntitiesRemoveMe ¶ added in v0.1.0
func (r *RegisterClientMock) RegisterEntitiesRemoveMe(agentEntityID entity.ID, entities []RegisterEntity) ([]RegisterEntityResponse, time.Duration, error)
func (*RegisterClientMock) RegisterEntity ¶ added in v0.1.0
func (r *RegisterClientMock) RegisterEntity(agentEntityID entity.ID, entity entity.Fields) (RegisterEntityResponse, error)
func (*RegisterClientMock) ShouldFailRegisterEntitiesRemoveMe ¶ added in v0.1.0
func (r *RegisterClientMock) ShouldFailRegisterEntitiesRemoveMe(agentEntityID entity.ID, entities []RegisterEntity, duration time.Duration, err error)
func (*RegisterClientMock) ShouldRegisterBatchEntities ¶ added in v0.1.0
func (r *RegisterClientMock) ShouldRegisterBatchEntities(agentEntityID entity.ID, entities []entity.Fields, responses []RegisterEntityResponse)
func (*RegisterClientMock) ShouldRegisterEntitiesRemoveMe ¶ added in v0.1.0
func (r *RegisterClientMock) ShouldRegisterEntitiesRemoveMe(agentEntityID entity.ID, entities []RegisterEntity, responses []RegisterEntityResponse, duration time.Duration)
type RegisterEntity ¶
type RegisterEntity struct {
Key entity.Key `json:"entityKey"`
Name string `json:"entityName,omitempty"`
Type string `json:"entityType,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
Interfaces []string `json:"interfaces,omitempty"`
}
func NewRegisterEntity ¶
func NewRegisterEntity(key entity.Key) RegisterEntity
type RegisterEntityError ¶
RegisterEntityError will wrap the error from entity registration api including req status code.
func NewRegisterEntityError ¶
func NewRegisterEntityError(status string, statusCode int, err error) *RegisterEntityError
NewRegisterEntityError create a new instance of RegisterEntityError.
func (*RegisterEntityError) Error ¶
func (e *RegisterEntityError) Error() string
func (*RegisterEntityError) ShouldRetry ¶
func (e *RegisterEntityError) ShouldRetry() bool
ShouldRetry checks the status code of the error and returns true if the request should be submitted again.