Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetPythonVersion ¶
func GetPythonVersion() string
GetPythonVersion returns the version string as provided by the embedded Python interpreter.
func GetStatusInformation ¶
GetStatusInformation just returns an InfoStat object, we need some additional information that's not
func InitHostMetadata ¶
func InitHostMetadata() error
InitHostMetadata initializes necessary CPU info
Types ¶
type InstallMethod ¶
type InstallMethod struct { Tool *string `json:"tool"` ToolVersion string `json:"tool_version"` InstallerVersion *string `json:"installer_version"` }
InstallMethod is metadata about the agent's installation
type LogsMeta ¶
type LogsMeta struct {
Transport string `json:"transport"`
}
LogsMeta is metadata about the host's logs agent
type Meta ¶
type Meta struct { SocketHostname string `json:"socket-hostname"` Timezones []string `json:"timezones"` SocketFqdn string `json:"socket-fqdn"` EC2Hostname string `json:"ec2-hostname"` Hostname string `json:"hostname"` HostAliases []string `json:"host_aliases"` InstanceID string `json:"instance-id"` AgentHostname string `json:"agent-hostname,omitempty"` ClusterName string `json:"cluster-name,omitempty"` }
Meta is the metadata nested under the meta key
type NetworkMeta ¶
type NetworkMeta struct { ID string `json:"network-id"` PublicIPv4 string `json:"public-ipv4,omitempty"` }
NetworkMeta is metadata about the host's network
type Payload ¶
type Payload struct { Os string `json:"os"` AgentFlavor string `json:"agent-flavor"` PythonVersion string `json:"python"` SystemStats *systemStats `json:"systemStats"` Meta *Meta `json:"meta"` HostTags *Tags `json:"host-tags"` ContainerMeta map[string]string `json:"container-meta,omitempty"` NetworkMeta *NetworkMeta `json:"network"` LogsMeta *LogsMeta `json:"logs"` InstallMethod *InstallMethod `json:"install-method"` ProxyMeta *ProxyMeta `json:"proxy-info"` }
Payload handles the JSON unmarshalling of the metadata payload
func GetPayload ¶
func GetPayload(ctx context.Context, hostnameData util.HostnameData) *Payload
GetPayload builds a metadata payload every time is called. Some data is collected only once, some is cached, some is collected at every call.
func GetPayloadFromCache ¶
func GetPayloadFromCache(ctx context.Context, hostnameData util.HostnameData) *Payload
GetPayloadFromCache returns the payload from the cache if it exists, otherwise it creates it. The metadata reporting should always grab it fresh. Any other uses, e.g. status, should use this
type ProxyMeta ¶
type ProxyMeta struct { NoProxyNonexactMatch bool `json:"no-proxy-nonexact-match"` ProxyBehaviorChanged bool `json:"proxy-behavior-changed"` }
ProxyMeta is metatdata about the proxy configuration