marathon

package module
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: May 19, 2020 License: MIT Imports: 7 Imported by: 0

README

marathon

WIP: Library to manage Marathon servers via API Calls

Documentation

Index

Constants

View Source
const (
	DockerImageRegEx = `^(([a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+)(?::(\d+))?)((?:([a-zA-Z0-9-\/]+)?))\/([a-zA-Z0-9-_]+):(.*)$`
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Action

type Action struct {
	Action string `json:"action"`
	App    string `json:"app"`
}

type App

type App struct {
	App AppDefinition `json:"app"`
}

App wraps an AppDefinition element returned by the Marathon API

type AppDefinition

type AppDefinition struct {
	ID                    string              `json:"id"`
	AcceptedResourceRoles []string            `json:"acceptedResourceRoles,omitempty"`
	BackoffFactor         float64             `json:"backoffFactor,omitempty"`
	BackoffSeconds        int                 `json:"backoffSeconds,omitempty"`
	Container             Container           `json:"container"`
	Cpus                  float64             `json:"cpus"`
	Disk                  float64             `json:"disk,omitempty"`
	Env                   interface{}         `json:"env,omitempty"`
	Executor              string              `json:"executor,omitempty"`
	Fetch                 []Fetch             `json:"fetch,omitempty"`
	HealthChecks          []Healthcheck       `json:"healthChecks,omitempty"`
	Instances             int                 `json:"instances"`
	Labels                interface{}         `json:"labels,omitempty"`
	MaxLaunchDelaySeconds int                 `json:"maxLaunchDelaySeconds,omitempty"`
	Mem                   float64             `json:"mem"`
	Gpus                  int                 `json:"gpus,omitempty"`
	Networks              []Network           `json:"networks,omitempty"`
	RequirePorts          bool                `json:"requirePorts,omitempty"`
	UpgradeStrategy       UpgradeStrategy     `json:"upgradeStrategy,omitempty"`
	KillSelection         string              `json:"killSelection,omitempty"`
	UnreachableStrategy   UnreachableStrategy `json:"unreachableStrategy,omitempty"`
	Role                  string              `json:"role,omitempty"`
}

AppDefinition encapsulates the data definitions of a Marathon App

type AppQueue

type AppQueue struct {
	ID                    string          `json:"id"`
	Instances             int             `json:"instances"`
	Cpus                  int             `json:"cpus"`
	Mem                   int             `json:"mem"`
	Disk                  int             `json:"disk"`
	Constraints           [][]string      `json:"constraints"`
	Ports                 []int           `json:"ports"`
	RequirePorts          bool            `json:"requirePorts"`
	BackoffSeconds        int             `json:"backoffSeconds"`
	BackoffFactor         float64         `json:"backoffFactor"`
	MaxLaunchDelaySeconds int             `json:"maxLaunchDelaySeconds"`
	Container             Queue           `json:"container"`
	UpgradeStrategy       UpgradeStrategy `json:"upgradeStrategy"`
	Version               time.Time       `json:"version"`
	VersionInfo           VersionInfo     `json:"versionInfo"`
}

type AppVersions

type AppVersions struct {
	Versions []time.Time `json:"versions"`
}

AppVersions reflects the data used by the sub-element appVersions on a Marathon App

type Application

type Application struct {
	// contains filtered or unexported fields
}

Marathon Application struct implements Methods of Marathon Application interface

func NewMarathonApplication

func NewMarathonApplication() *Application

func (*Application) AddParameter

func (ma *Application) AddParameter(param interface{}) error

func (*Application) Container

func (ma *Application) Container() *Container

func (*Application) Cpus

func (ma *Application) Cpus() float64

func (*Application) Create

func (ma *Application) Create(app AppDefinition) (*Application, error)

func (*Application) DelEnv

func (ma *Application) DelEnv(name string) error

func (*Application) DelParameter

func (ma *Application) DelParameter(param interface{}) error

func (*Application) Destroy

func (ma *Application) Destroy() error

func (*Application) DumpToFile

func (ma *Application) DumpToFile(fileName string) error

func (*Application) Env

func (ma *Application) Env() map[string]string

func (*Application) Get

func (ma *Application) Get(id string) (*Application, error)

func (*Application) LoadFromFile

func (ma *Application) LoadFromFile(fileName string) error

func (*Application) Memory

func (ma *Application) Memory() float64

func (*Application) Restart

func (ma *Application) Restart(force bool) error

func (*Application) Retag

func (ma *Application) Retag(tag string) error

func (*Application) Role

func (ma *Application) Role() string

func (*Application) Scale

func (ma *Application) Scale(instances int, force bool) error

func (*Application) SetClient

func (ma *Application) SetClient(client *requist.Requist)

func (*Application) SetContainer

func (ma *Application) SetContainer(to *Container) error

func (*Application) SetCpus

func (ma *Application) SetCpus(to float64) error

func (*Application) SetEnv

func (ma *Application) SetEnv(name, value string) error

func (*Application) SetMemory

func (ma *Application) SetMemory(to float64) error

func (*Application) SetRole

func (ma *Application) SetRole(to string) error

func (*Application) Start

func (ma *Application) Start(instances int, force bool) error

func (*Application) Stop

func (ma *Application) Stop(force bool) error

func (*Application) Suspend

func (ma *Application) Suspend(force bool) error

func (*Application) Update

func (ma *Application) Update(app AppDefinition) error

type Applications

type Applications struct {
	// contains filtered or unexported fields
}

Marathon Applications struct implements Methods of Marathon Applications interface

func NewMarathonApplications

func NewMarathonApplications() *Applications

func (*Applications) AsMap

func (ma *Applications) AsMap() map[string]AppDefinition

func (*Applications) DestroyAll

func (ma *Applications) DestroyAll(force bool) error

func (*Applications) RestartAll

func (ma *Applications) RestartAll(force bool) error

func (*Applications) ScaleAll

func (ma *Applications) ScaleAll(instances int) error

func (*Applications) StartAll

func (ma *Applications) StartAll() error

func (*Applications) StopAll

func (ma *Applications) StopAll(force bool) error

func (*Applications) SuspendAll

func (ma *Applications) SuspendAll(force bool) error

type Apps

type Apps struct {
	Apps []AppDefinition `json:"apps"`
}

Apps wraps an AppDefinition array returned by the Marathon API

type Attribute

type Attribute struct {
	Name   string   `json:"name"`
	Scalar int      `json:"scalar"`
	Ranges []Range  `json:"ranges"`
	Set    []string `json:"set"`
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(base string) *Client

NewClient returns a new Client given a Marathon server base url

func NewClientFromURL

func NewClientFromURL(base *url.URL) *Client

NewClientFromURL returns a new Client given a Marathon server base url in URL type

func (*Client) AppAddParameter

func (mc *Client) AppAddParameter(id string, param interface{}) error

func (*Client) AppContainer

func (mc *Client) AppContainer(id string) *Container

func (*Client) AppCpus

func (mc *Client) AppCpus(id string) float64

func (*Client) AppCreate

func (mc *Client) AppCreate(app AppDefinition) error

Marathon AppDefinition interface {}

func (*Client) AppDelEnv

func (mc *Client) AppDelEnv(id, name string) error

func (*Client) AppDelParameter

func (mc *Client) AppDelParameter(id string, param interface{}) error

func (*Client) AppDestroy

func (mc *Client) AppDestroy(id string) error

func (*Client) AppDumpToFile added in v1.0.2

func (mc *Client) AppDumpToFile(id, fileName string) error

func (*Client) AppEnv

func (mc *Client) AppEnv(id string) map[string]string

func (*Client) AppLoadFromFile added in v1.0.2

func (mc *Client) AppLoadFromFile(fileName string) error

func (*Client) AppMemory

func (mc *Client) AppMemory(id string) float64

func (*Client) AppRestart

func (mc *Client) AppRestart(id string, force bool) error

func (*Client) AppRetag

func (mc *Client) AppRetag(id string, tag string) error

func (*Client) AppRole

func (mc *Client) AppRole(id string) string

func (*Client) AppScale

func (mc *Client) AppScale(id string, instances int, force bool) error

func (*Client) AppSetContainer

func (mc *Client) AppSetContainer(id string, to *Container) error

func (*Client) AppSetCpus

func (mc *Client) AppSetCpus(id string, to float64) error

func (*Client) AppSetEnv

func (mc *Client) AppSetEnv(id, name, value string) error

func (*Client) AppSetMemory

func (mc *Client) AppSetMemory(id string, to float64) error

func (*Client) AppSetRole

func (mc *Client) AppSetRole(id, to string) error

func (*Client) AppStart

func (mc *Client) AppStart(id string, instances int, force bool) error

func (*Client) AppStop

func (mc *Client) AppStop(id string, force bool) error

func (*Client) AppSuspend

func (mc *Client) AppSuspend(id string, force bool) error

func (*Client) AppUpdate

func (mc *Client) AppUpdate(app AppDefinition) error

func (*Client) CheckConnection

func (mc *Client) CheckConnection() error

func (*Client) Connect

func (mc *Client) Connect(baseUrl string)

func (*Client) NewFromURL

func (mc *Client) NewFromURL(base *url.URL) *Client

func (*Client) SetBasicAuth

func (mc *Client) SetBasicAuth(username, password string)

func (*Client) StatusCode

func (mc *Client) StatusCode() int

type Container

type Container struct {
	Type         string        `json:"type"`
	Docker       Docker        `json:"docker"`
	Volumes      []Volume      `json:"volumes,omitempty"`
	PortMappings []PortMapping `json:"portMappings,omitempty"`
}

type CurrentAction

type CurrentAction struct {
	Action                string                 `json:"action"`
	App                   string                 `json:"app"`
	ReadinessCheckResults []ReadinessCheckResult `json:"readinessCheckResults"`
}

type Delay

type Delay struct {
	TimeLeftSeconds int  `json:"timeLeftSeconds"`
	Overdue         bool `json:"overdue"`
}

type Deployment

type Deployment struct {
	ID             string          `json:"id"`
	Version        time.Time       `json:"version"`
	AffectedApps   []string        `json:"affectedApps"`
	AffectedPods   []string        `json:"affectedPods"`
	Steps          []Step          `json:"steps"`
	CurrentActions []CurrentAction `json:"currentActions"`
	CurrentStep    int             `json:"currentStep"`
	TotalSteps     int             `json:"totalSteps"`
}

type Deployments

type Deployments []Deployment

type Docker

type Docker struct {
	Image          string        `json:"image"`
	Network        string        `json:"network,omitempty"`
	Privileged     bool          `json:"privileged"`
	Parameters     []interface{} `json:"parameters,omitempty"`
	ForcePullImage bool          `json:"forcePullImage"`
}

type FailureMessage

type FailureMessage struct {
	Message string `json:"message,omitempty"`
}

FailureMessage all failed request match with this datatype

type Fetch

type Fetch struct {
	URI        string `json:"uri"`
	Extract    bool   `json:"extract"`
	Executable bool   `json:"executable"`
	Cache      bool   `json:"cache"`
}

Fetch reflects the data used by the sub-element fetch on a Marathon App

type Group

type Group struct {
	ID           string        `json:"id"`
	Apps         []App         `json:"apps"`
	Groups       []Group       `json:"groups"`
	Pods         []interface{} `json:"pods"`
	Dependencies []string      `json:"dependencies,omitempty"`
	Version      time.Time     `json:"version,omitempty"`
	VersionInfo  VersionInfo   `json:"versionInfo,omitempty"`
	Executor     string        `json:"executor,omitempty"`
	EnforceRole  bool          `json:"enforceRole,omitempty"`
}

type Groups

type Groups struct {
	// contains filtered or unexported fields
}

func NewMarathonGroups

func NewMarathonGroups() *Groups

func (*Groups) Create

func (mg *Groups) Create(group *Group) error

func (*Groups) Destroy

func (mg *Groups) Destroy() error

func (*Groups) Get

func (mg *Groups) Get(id string) (*Groups, error)

func (*Groups) Restart

func (mg *Groups) Restart(force bool) error

func (*Groups) Scale

func (mg *Groups) Scale(instances int) error

func (*Groups) SetClient

func (mg *Groups) SetClient(client *requist.Requist)

func (*Groups) Start

func (mg *Groups) Start() error

func (*Groups) Stop

func (mg *Groups) Stop(force bool) error

func (*Groups) Suspend

func (mg *Groups) Suspend(force bool) error

func (*Groups) Update

func (mg *Groups) Update(group *Group) error

type Healthcheck

type Healthcheck struct {
	GracePeriodSeconds     int    `json:"gracePeriodSeconds"`
	IntervalSeconds        int    `json:"intervalSeconds"`
	MaxConsecutiveFailures int    `json:"maxConsecutiveFailures"`
	Path                   string `json:"path"`
	PortIndex              int    `json:"portIndex"`
	Protocol               string `json:"protocol"`
	IPProtocol             string `json:"ipProtocol"`
	TimeoutSeconds         int    `json:"timeoutSeconds"`
	DelaySeconds           int    `json:"delaySeconds"`
}

type IPAddress

type IPAddress struct {
	IPAddress string `json:"ipAddress"`
	Protocol  string `json:"protocol"`
}

type Info

type Info struct {
	Version string `json:"version"`
	Array   []int  `json:"array"`
	Test    bool   `json:"test"`
}

type LastResponse

type LastResponse struct {
	Body        string `json:"body"`
	ContentType string `json:"contentType"`
	Status      int    `json:"status"`
}

type LastUnusedOffer

type LastUnusedOffer struct {
	Offer     Offer       `json:"offer"`
	Timestamp interface{} `json:"timestamp"`
	Reason    []string    `json:"reason"`
}

type Leader

type Leader struct {
	Leader string `json:"leader"`
}

type Metrics

type Metrics struct {
	Version  string `json:"version"`
	Counters struct {
		MarathonMesosOfferOperationsLaunchGroupCounter struct {
			Count int `json:"count"`
		} `json:"marathon.mesos.offer-operations.launch-group.counter"`
		MarathonMesosOffersIncomingCounter struct {
			Count int `json:"count"`
		} `json:"marathon.mesos.offers.incoming.counter"`
		MarathonDebugMesosOffersSavingTasksErrorsCounter struct {
			Count int `json:"count"`
		} `json:"marathon.debug.mesos.offers.saving-tasks-errors.counter"`
		MarathonMesosCallsReviveCounter struct {
			Count int `json:"count"`
		} `json:"marathon.mesos.calls.revive.counter"`
		MarathonDebugMesosOffersUnprocessableCounter struct {
			Count int `json:"count"`
		} `json:"marathon.debug.mesos.offers.unprocessable.counter"`
		MarathonMesosTaskUpdatesTaskStartingCounter struct {
			Count int `json:"count"`
		} `json:"marathon.mesos.task-updates.task-starting.counter"`
		MarathonMesosOffersUsedCounter struct {
			Count int `json:"count"`
		} `json:"marathon.mesos.offers.used.counter"`
		MarathonMesosOffersDeclinedCounter struct {
			Count int `json:"count"`
		} `json:"marathon.mesos.offers.declined.counter"`
		MarathonMesosOfferOperationsReserveCounter struct {
			Count int `json:"count"`
		} `json:"marathon.mesos.offer-operations.reserve.counter"`
		MarathonDebugPersistenceCacheGetDeploymentHitCounter struct {
			Count int `json:"count"`
		} `json:"marathon.debug.persistence.cache.get.deployment.hit.counter"`
		MarathonMesosTaskUpdatesTaskKillingCounter struct {
			Count int `json:"count"`
		} `json:"marathon.mesos.task-updates.task-killing.counter"`
		MarathonMesosTaskUpdatesTaskKilledCounter struct {
			Count int `json:"count"`
		} `json:"marathon.mesos.task-updates.task-killed.counter"`
		MarathonDeploymentsCounter struct {
			Count int `json:"count"`
		} `json:"marathon.deployments.counter"`
		MarathonDebugPersistenceCacheIdsPodsHitCounter struct {
			Count int `json:"count"`
		} `json:"marathon.debug.persistence.cache.ids.pods.hit.counter"`
		MarathonHTTPResponsesEventStreamSizeCounterBytes struct {
			Count int `json:"count"`
		} `json:"marathon.http.responses.event-stream.size.counter.bytes"`
		MarathonMesosCallsSuppressCounter struct {
			Count int `json:"count"`
		} `json:"marathon.mesos.calls.suppress.counter"`
		MarathonDebugPersistenceCacheGetTaskFailuresHitCounter struct {
			Count int `json:"count"`
		} `json:"marathon.debug.persistence.cache.get.taskFailures.hit.counter"`
		MarathonMesosTaskUpdatesTaskFailedCounter struct {
			Count int `json:"count"`
		} `json:"marathon.mesos.task-updates.task-failed.counter"`
		MarathonDebugPersistenceCacheGetFrameworkIDHitCounter struct {
			Count int `json:"count"`
		} `json:"marathon.debug.persistence.cache.get.framework-id.hit.counter"`
		MarathonMesosTaskUpdatesTaskRunningCounter struct {
			Count int `json:"count"`
		} `json:"marathon.mesos.task-updates.task-running.counter"`
		MarathonDebugPersistenceCacheGetAppsHitCounter struct {
			Count int `json:"count"`
		} `json:"marathon.debug.persistence.cache.get.apps.hit.counter"`
		MarathonMesosTaskUpdatesTaskFinishedCounter struct {
			Count int `json:"count"`
		} `json:"marathon.mesos.task-updates.task-finished.counter"`
		MarathonMesosTaskUpdatesTaskStagingCounter struct {
			Count int `json:"count"`
		} `json:"marathon.mesos.task-updates.task-staging.counter"`
		MarathonHTTPResponsesSizeCounterBytes struct {
			Count int64 `json:"count"`
		} `json:"marathon.http.responses.size.counter.bytes"`
		MarathonDebugPersistenceCacheIdsAppsHitCounter struct {
			Count int `json:"count"`
		} `json:"marathon.debug.persistence.cache.ids.apps.hit.counter"`
		MarathonHTTPResponsesSizeGzippedCounterBytes struct {
			Count int64 `json:"count"`
		} `json:"marathon.http.responses.size.gzipped.counter.bytes"`
		MarathonDeploymentsDismissedCounter struct {
			Count int `json:"count"`
		} `json:"marathon.deployments.dismissed.counter"`
		MarathonDebugPersistenceCacheIdsDeploymentHitCounter struct {
			Count int `json:"count"`
		} `json:"marathon.debug.persistence.cache.ids.deployment.hit.counter"`
		MarathonTasksLaunchedCounter struct {
			Count int `json:"count"`
		} `json:"marathon.tasks.launched.counter"`
		MarathonMesosOfferOperationsLaunchCounter struct {
			Count int `json:"count"`
		} `json:"marathon.mesos.offer-operations.launch.counter"`
		MarathonPersistenceGcRunsCounter struct {
			Count int `json:"count"`
		} `json:"marathon.persistence.gc.runs.counter"`
		MarathonHTTPRequestsSizeCounterBytes struct {
			Count int `json:"count"`
		} `json:"marathon.http.requests.size.counter.bytes"`
	} `json:"counters"`
	Gauges struct {
		MarathonJvmMemoryPoolsCodeCacheMaxGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.pools.code-cache.max.gauge.bytes"`
		MarathonJvmMemoryPoolsMetaspaceCommittedGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.pools.metaspace.committed.gauge.bytes"`
		MarathonDebugHTTPRequests4XxTo15MRateRatioGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.debug.http.requests.4xx-to-15m-rate-ratio.gauge"`
		MarathonJvmMemoryPoolsCodeCacheUsageGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.code-cache.usage.gauge"`
		MarathonJvmMemoryTotalMaxGaugeBytes struct {
			Value int64 `json:"value"`
		} `json:"marathon.jvm.memory.total.max.gauge.bytes"`
		MarathonJvmBuffersMappedMemoryUsedGaugeBytes struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.buffers.mapped.memory.used.gauge.bytes"`
		MarathonJvmMemoryPoolsPsSurvivorSpaceCommittedGaugeBytes struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-survivor-space.committed.gauge.bytes"`
		MarathonJvmGcPsScavengeCollectionsGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.gc.ps-scavenge.collections.gauge"`
		MarathonJvmMemoryPoolsPsSurvivorSpaceMaxGaugeBytes struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-survivor-space.max.gauge.bytes"`
		MarathonInstancesInflightKillsGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.instances.inflight-kills.gauge"`
		MarathonJvmThreadsRunnableGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.threads.runnable.gauge"`
		MarathonInstancesInflightKillAttemptsGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.instances.inflight-kill-attempts.gauge"`
		MarathonJvmMemoryPoolsPsOldGenUsedGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-old-gen.used.gauge.bytes"`
		MarathonDebugHTTPDispatchesActiveGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.debug.http.dispatches.active.gauge"`
		MarathonJvmMemoryNonHeapInitGaugeBytes struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.non-heap.init.gauge.bytes"`
		MarathonJvmMemoryTotalUsedGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.total.used.gauge.bytes"`
		MarathonJvmMemoryNonHeapUsageGauge struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.non-heap.usage.gauge"`
		MarathonJvmBuffersMappedCapacityGaugeBytes struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.buffers.mapped.capacity.gauge.bytes"`
		MarathonJvmThreadsDaemonGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.threads.daemon.gauge"`
		MarathonDebugHTTPRequestsSuspendedGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.debug.http.requests.suspended.gauge"`
		MarathonDeploymentsActiveGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.deployments.active.gauge"`
		MarathonLeadershipDurationGaugeSeconds struct {
			Value float64 `json:"value"`
		} `json:"marathon.leadership.duration.gauge.seconds"`
		MarathonDebugHTTPRequests4XxTo5MRateRatioGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.debug.http.requests.4xx-to-5m-rate-ratio.gauge"`
		MarathonJvmMemoryPoolsPsEdenSpaceCommittedGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-eden-space.committed.gauge.bytes"`
		MarathonDebugHTTPRequests5XxTo5MRateRatioGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.debug.http.requests.5xx-to-5m-rate-ratio.gauge"`
		MarathonJvmMemoryNonHeapCommittedGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.non-heap.committed.gauge.bytes"`
		MarathonJvmMemoryTotalInitGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.total.init.gauge.bytes"`
		MarathonJvmMemoryPoolsPsEdenSpaceInitGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-eden-space.init.gauge.bytes"`
		MarathonJvmMemoryPoolsPsEdenSpaceUsageGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-eden-space.usage.gauge"`
		MarathonJvmMemoryPoolsCodeCacheCommittedGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.pools.code-cache.committed.gauge.bytes"`
		MarathonJvmMemoryHeapCommittedGaugeBytes struct {
			Value int64 `json:"value"`
		} `json:"marathon.jvm.memory.heap.committed.gauge.bytes"`
		MarathonJvmMemoryPoolsMetaspaceUsedGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.pools.metaspace.used.gauge.bytes"`
		MarathonJvmThreadsActiveGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.threads.active.gauge"`
		MarathonPodsActiveGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.pods.active.gauge"`
		MarathonJvmThreadsBlockedGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.threads.blocked.gauge"`
		MarathonJvmMemoryPoolsPsOldGenUsageGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-old-gen.usage.gauge"`
		MarathonJvmBuffersDirectMemoryUsedGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.buffers.direct.memory.used.gauge.bytes"`
		MarathonJvmMemoryPoolsPsOldGenCommittedGaugeBytes struct {
			Value int64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-old-gen.committed.gauge.bytes"`
		MarathonUptimeGaugeSeconds struct {
			Value float64 `json:"value"`
		} `json:"marathon.uptime.gauge.seconds"`
		MarathonJvmMemoryPoolsPsSurvivorSpaceUsedAfterGcGaugeBytes struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-survivor-space.used-after-gc.gauge.bytes"`
		MarathonHTTPRequestsActiveGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.http.requests.active.gauge"`
		MarathonJvmMemoryPoolsCompressedClassSpaceCommittedGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.pools.compressed-class-space.committed.gauge.bytes"`
		MarathonJvmMemoryPoolsPsEdenSpaceUsedGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-eden-space.used.gauge.bytes"`
		MarathonJvmMemoryPoolsMetaspaceInitGaugeBytes struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.metaspace.init.gauge.bytes"`
		MarathonJvmMemoryPoolsPsSurvivorSpaceUsedGaugeBytes struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-survivor-space.used.gauge.bytes"`
		MarathonDebugOfferMatcherQueueSizeGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.debug.offer-matcher.queue.size.gauge"`
		MarathonJvmMemoryPoolsPsEdenSpaceUsedAfterGcGaugeBytes struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-eden-space.used-after-gc.gauge.bytes"`
		MarathonJvmMemoryHeapUsageGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.heap.usage.gauge"`
		MarathonJvmMemoryPoolsPsSurvivorSpaceInitGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-survivor-space.init.gauge.bytes"`
		MarathonJvmMemoryHeapMaxGaugeBytes struct {
			Value int64 `json:"value"`
		} `json:"marathon.jvm.memory.heap.max.gauge.bytes"`
		MarathonHTTPEventStreamsActiveGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.http.event-streams.active.gauge"`
		MarathonJvmMemoryPoolsCompressedClassSpaceMaxGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.pools.compressed-class-space.max.gauge.bytes"`
		MarathonJvmMemoryHeapUsedGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.heap.used.gauge.bytes"`
		MarathonJvmGcPsMarksweepCollectionsDurationGaugeSeconds struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.gc.ps-marksweep.collections.duration.gauge.seconds"`
		MarathonJvmGcPsScavengeCollectionsDurationGaugeSeconds struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.gc.ps-scavenge.collections.duration.gauge.seconds"`
		MarathonJvmMemoryPoolsPsOldGenMaxGaugeBytes struct {
			Value int64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-old-gen.max.gauge.bytes"`
		MarathonJvmThreadsTimedWaitingGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.threads.timed-waiting.gauge"`
		MarathonJvmThreadsTerminatedGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.threads.terminated.gauge"`
		MarathonJvmMemoryTotalCommittedGaugeBytes struct {
			Value int64 `json:"value"`
		} `json:"marathon.jvm.memory.total.committed.gauge.bytes"`
		MarathonJvmMemoryPoolsPsEdenSpaceMaxGaugeBytes struct {
			Value int64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-eden-space.max.gauge.bytes"`
		MarathonJvmThreadsNewGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.threads.new.gauge"`
		MarathonJvmMemoryNonHeapMaxGaugeBytes struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.non-heap.max.gauge.bytes"`
		MarathonJvmMemoryPoolsPsSurvivorSpaceUsageGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-survivor-space.usage.gauge"`
		MarathonJvmMemoryPoolsMetaspaceUsageGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.metaspace.usage.gauge"`
		MarathonGroupsActiveGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.groups.active.gauge"`
		MarathonJvmMemoryPoolsCodeCacheUsedGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.pools.code-cache.used.gauge.bytes"`
		MarathonJvmMemoryPoolsPsOldGenInitGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-old-gen.init.gauge.bytes"`
		MarathonDebugOfferMatcherTokensGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.debug.offer-matcher.tokens.gauge"`
		MarathonDebugHTTPRequests5XxTo1MRateRatioGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.debug.http.requests.5xx-to-1m-rate-ratio.gauge"`
		MarathonDebugHTTPRequests4XxTo1MRateRatioGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.debug.http.requests.4xx-to-1m-rate-ratio.gauge"`
		MarathonJvmGcPsMarksweepCollectionsGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.gc.ps-marksweep.collections.gauge"`
		MarathonInstancesStagedGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.instances.staged.gauge"`
		MarathonJvmMemoryPoolsMetaspaceMaxGaugeBytes struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.metaspace.max.gauge.bytes"`
		MarathonJvmThreadsWaitingGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.threads.waiting.gauge"`
		MarathonJvmMemoryPoolsCompressedClassSpaceUsedGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.pools.compressed-class-space.used.gauge.bytes"`
		MarathonDebugRootGroupUpdatesActiveGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.debug.root-group.updates.active.gauge"`
		MarathonJvmBuffersDirectGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.buffers.direct.gauge"`
		MarathonJvmMemoryPoolsCompressedClassSpaceUsageGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.compressed-class-space.usage.gauge"`
		MarathonJvmMemoryNonHeapUsedGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.non-heap.used.gauge.bytes"`
		MarathonJvmMemoryHeapInitGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.heap.init.gauge.bytes"`
		MarathonAppsActiveGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.apps.active.gauge"`
		MarathonInstancesLaunchOverdueGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.instances.launch-overdue.gauge"`
		MarathonInstancesRunningGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.instances.running.gauge"`
		MarathonJvmMemoryPoolsCodeCacheInitGaugeBytes struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.code-cache.init.gauge.bytes"`
		MarathonJvmBuffersDirectCapacityGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.buffers.direct.capacity.gauge.bytes"`
		MarathonDebugHTTPRequests5XxTo15MRateRatioGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.debug.http.requests.5xx-to-15m-rate-ratio.gauge"`
		MarathonJvmMemoryPoolsPsOldGenUsedAfterGcGaugeBytes struct {
			Value int `json:"value"`
		} `json:"marathon.jvm.memory.pools.ps-old-gen.used-after-gc.gauge.bytes"`
		MarathonJvmThreadsDeadlockedGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.threads.deadlocked.gauge"`
		MarathonJvmMemoryPoolsCompressedClassSpaceInitGaugeBytes struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.memory.pools.compressed-class-space.init.gauge.bytes"`
		MarathonJvmBuffersMappedGauge struct {
			Value float64 `json:"value"`
		} `json:"marathon.jvm.buffers.mapped.gauge"`
	} `json:"gauges"`
	Histograms struct {
	} `json:"histograms"`
	Meters struct {
		MarathonHTTPResponses5XxRateMeter struct {
			Count    int     `json:"count"`
			M1Rate   float64 `json:"m1_rate"`
			M5Rate   float64 `json:"m5_rate"`
			M15Rate  float64 `json:"m15_rate"`
			MeanRate float64 `json:"mean_rate"`
			Units    string  `json:"units"`
		} `json:"marathon.http.responses.5xx.rate.meter"`
		MarathonHTTPResponses4XxRateMeter struct {
			Count    int     `json:"count"`
			M1Rate   float64 `json:"m1_rate"`
			M5Rate   float64 `json:"m5_rate"`
			M15Rate  float64 `json:"m15_rate"`
			MeanRate float64 `json:"mean_rate"`
			Units    string  `json:"units"`
		} `json:"marathon.http.responses.4xx.rate.meter"`
		MarathonHTTPResponses2XxRateMeter struct {
			Count    int     `json:"count"`
			M1Rate   float64 `json:"m1_rate"`
			M5Rate   float64 `json:"m5_rate"`
			M15Rate  float64 `json:"m15_rate"`
			MeanRate float64 `json:"mean_rate"`
			Units    string  `json:"units"`
		} `json:"marathon.http.responses.2xx.rate.meter"`
		MarathonDebugHTTPDispatchesAsyncRateMeter struct {
			Count    int     `json:"count"`
			M1Rate   float64 `json:"m1_rate"`
			M5Rate   float64 `json:"m5_rate"`
			M15Rate  float64 `json:"m15_rate"`
			MeanRate float64 `json:"mean_rate"`
			Units    string  `json:"units"`
		} `json:"marathon.debug.http.dispatches.async.rate.meter"`
		MarathonHTTPResponses1XxRateMeter struct {
			Count    int     `json:"count"`
			M1Rate   float64 `json:"m1_rate"`
			M5Rate   float64 `json:"m5_rate"`
			M15Rate  float64 `json:"m15_rate"`
			MeanRate float64 `json:"mean_rate"`
			Units    string  `json:"units"`
		} `json:"marathon.http.responses.1xx.rate.meter"`
		MarathonDebugHTTPDispatchesAsyncTimeoutsRateMeter struct {
			Count    int     `json:"count"`
			M1Rate   float64 `json:"m1_rate"`
			M5Rate   float64 `json:"m5_rate"`
			M15Rate  float64 `json:"m15_rate"`
			MeanRate float64 `json:"mean_rate"`
			Units    string  `json:"units"`
		} `json:"marathon.debug.http.dispatches.async.timeouts.rate.meter"`
		MarathonHTTPResponses3XxRateMeter struct {
			Count    int     `json:"count"`
			M1Rate   float64 `json:"m1_rate"`
			M5Rate   float64 `json:"m5_rate"`
			M15Rate  float64 `json:"m15_rate"`
			MeanRate float64 `json:"mean_rate"`
			Units    string  `json:"units"`
		} `json:"marathon.http.responses.3xx.rate.meter"`
	} `json:"meters"`
	Timers struct {
		MarathonDebugPersistenceOperationsStoreDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.persistence.operations.store.duration.timer.seconds"`
		MarathonDebugInstanceTrackerUpdateStepsPostTaskStatusEventDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.instance-tracker.update-steps.post-task-status-event.duration.timer.seconds"`
		MarathonHTTPRequestsMoveDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.http.requests.move.duration.timer.seconds"`
		MarathonDebugPersistenceOperationsVersionsDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.persistence.operations.versions.duration.timer.seconds"`
		MarathonDebugHTTPDispatchesDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.http.dispatches.duration.timer.seconds"`
		MarathonDebugInstanceTrackerResolveTasksByAppDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.instance-tracker.resolve-tasks-by-app-duration.timer.seconds"`
		MarathonHTTPRequestsOtherDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.http.requests.other.duration.timer.seconds"`
		MarathonDebugInstanceTrackerUpdateStepsNotifyHealthCheckManagerDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.instance-tracker.update-steps.notify-health-check-manager.duration.timer.seconds"`
		MarathonPersistenceGcCompactionDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.persistence.gc.compaction.duration.timer.seconds"`
		MarathonDebugInstanceTrackerUpdateStepsScaleAppDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.instance-tracker.update-steps.scale-app.duration.timer.seconds"`
		MarathonHTTPRequestsGetDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.http.requests.get.duration.timer.seconds"`
		MarathonDebugCurrentLeaderRetrievalDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.current-leader.retrieval.duration.timer.seconds"`
		MarathonDebugInstanceTrackerUpdateStepsNotifyRateLimiterDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.instance-tracker.update-steps.notify-rate-limiter.duration.timer.seconds"`
		MarathonDebugMesosOffersSavingTasksDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.mesos.offers.saving-tasks-duration.timer.seconds"`
		MarathonHTTPRequestsPutDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.http.requests.put.duration.timer.seconds"`
		MarathonDebugKillingUnknownTaskDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.killing-unknown-task-duration.timer.seconds"`
		MarathonPersistenceGcScanDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.persistence.gc.scan.duration.timer.seconds"`
		MarathonHTTPRequestsOptionsDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.http.requests.options.duration.timer.seconds"`
		MarathonHTTPRequestsDeleteDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.http.requests.delete.duration.timer.seconds"`
		MarathonHTTPRequestsHeadDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.http.requests.head.duration.timer.seconds"`
		MarathonDebugPersistenceOperationsGetDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.persistence.operations.get.duration.timer.seconds"`
		MarathonHTTPRequestsPostDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.http.requests.post.duration.timer.seconds"`
		MarathonDebugInstanceTrackerUpdateStepsNotifyLaunchQueueDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.instance-tracker.update-steps.notify-launch-queue.duration.timer.seconds"`
		MarathonDebugPublishingTaskStatusUpdateDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.publishing-task-status-update-duration.timer.seconds"`
		MarathonDebugPersistenceOperationsDeleteDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.persistence.operations.delete.duration.timer.seconds"`
		MarathonDebugPersistenceOperationsIdsDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.persistence.operations.ids.duration.timer.seconds"`
		MarathonHTTPRequestsTraceDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.http.requests.trace.duration.timer.seconds"`
		MarathonHTTPRequestsDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.http.requests.duration.timer.seconds"`
		MarathonHTTPRequestsConnectDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.http.requests.connect.duration.timer.seconds"`
		MarathonDebugMesosOffersMatchingDurationTimerSeconds struct {
			Count         int     `json:"count"`
			Min           float64 `json:"min"`
			Mean          float64 `json:"mean"`
			Max           float64 `json:"max"`
			P50           float64 `json:"p50"`
			P75           float64 `json:"p75"`
			P95           float64 `json:"p95"`
			P98           float64 `json:"p98"`
			P99           float64 `json:"p99"`
			P999          float64 `json:"p999"`
			Stddev        float64 `json:"stddev"`
			M1Rate        float64 `json:"m1_rate"`
			M5Rate        float64 `json:"m5_rate"`
			M15Rate       float64 `json:"m15_rate"`
			MeanRate      float64 `json:"mean_rate"`
			DurationUnits string  `json:"duration_units"`
			RateUnits     string  `json:"rate_units"`
		} `json:"marathon.debug.mesos.offers.matching-duration.timer.seconds"`
	} `json:"timers"`
}

type Network

type Network struct {
	Mode string `json:"mode"`
}

Network reflects the data used by the sub-element network on a Marathon App

type Offer

type Offer struct {
	ID         string      `json:"id"`
	AgentID    string      `json:"agentId"`
	Hostname   string      `json:"hostname"`
	Resources  []Resource  `json:"resources"`
	Attributes []Attribute `json:"attributes"`
}

type Plugin

type Plugin struct {
	ID             string   `json:"id"`
	Implementation string   `json:"implementation"`
	Info           Info     `json:"info"`
	Plugin         string   `json:"plugin"`
	Tags           []string `json:"tags"`
}

type Plugins

type Plugins struct {
	Plugins []Plugin `json:"plugins"`
}

type PortMapping

type PortMapping struct {
	ContainerPort int           `json:"containerPort,omitempty"`
	HostPort      int           `json:"hostPort,omitempty"`
	Labels        []interface{} `json:"labels,omitempty"`
	Protocol      string        `json:"protocol,omitempty"`
	ServicePort   int           `json:"servicePort,omitempty"`
}

type ProcessedOffersSummary

type ProcessedOffersSummary struct {
	ProcessedOffersCount int `json:"processedOffersCount"`
	UnusedOffersCount    int `json:"unusedOffersCount"`
}

type Queue

type Queue struct {
	Type   string `json:"type"`
	Docker Docker `json:"docker"`
}

type QueueType

type QueueType struct {
	App                    AppDefinition          `json:"app"`
	Count                  int                    `json:"count"`
	Delay                  Delay                  `json:"delay"`
	Since                  interface{}            `json:"since"`
	ProcessedOffersSummary ProcessedOffersSummary `json:"processedOffersSummary"`
	LastUnusedOffers       []LastUnusedOffer      `json:"lastUnusedOffers,omitempty"`
}

type Queues

type Queues struct {
	Queue []QueueType `json:"queue"`
}

type Range

type Range struct {
	Begin int `json:"begin"`
	End   int `json:"end"`
}

type ReadinessCheckResult

type ReadinessCheckResult struct {
	TaskID       string       `json:"taskId"`
	LastResponse LastResponse `json:"lastResponse"`
	Name         string       `json:"name"`
	Ready        bool         `json:"ready"`
}

type Resource

type Resource struct {
	Name   string   `json:"name"`
	Scalar int      `json:"scalar"`
	Ranges []Range  `json:"ranges"`
	Set    []string `json:"set"`
	Role   string   `json:"role"`
}

type Response

type Response struct {
	ID      string    `json:"deploymentId"`
	Version time.Time `json:"version"`
}

type Result

type Result struct {
	Alive               bool      `json:"alive"`
	ConsecutiveFailures int       `json:"consecutiveFailures"`
	FirstSuccess        time.Time `json:"firstSuccess"`
	InstanceID          string    `json:"instanceId"`
	LastSuccess         time.Time `json:"lastSuccess"`
}

type Step

type Step struct {
	Actions []Action `json:"actions"`
}

type Task

type Task struct {
	Task Tsk `json:"task"`
}

type Tasks

type Tasks struct {
	Tasks []Tsk `json:"tasks"`
}

type Tsk

type Tsk struct {
	AppID              string        `json:"appId"`
	HealthCheckResults []Result      `json:"healthCheckResults"`
	Host               string        `json:"host"`
	ID                 string        `json:"id"`
	IPAddresses        []IPAddress   `json:"ipAddresses"`
	Ports              []int         `json:"ports"`
	ServicePorts       []interface{} `json:"servicePorts"`
	SlaveID            string        `json:"slaveId"`
	State              string        `json:"state"`
	StagedAt           time.Time     `json:"stagedAt"`
	StartedAt          time.Time     `json:"startedAt"`
	Version            time.Time     `json:"version"`
	LocalVolumes       []interface{} `json:"localVolumes"`
	Role               string        `json:"role"`
}

type UnreachableStrategy

type UnreachableStrategy struct {
	InactiveAfterSeconds int `json:"inactiveAfterSeconds"`
	ExpungeAfterSeconds  int `json:"expungeAfterSeconds"`
}

UnreachableStrategy reflects the data used by the sub-element unreachableStrategy on a Marathon App

type UpgradeStrategy

type UpgradeStrategy struct {
	MaximumOverCapacity   float64 `json:"maximumOverCapacity"`
	MinimumHealthCapacity float64 `json:"minimumHealthCapacity"`
}

UpgradeStrategy reflects the data used by the sub-element ppgradeStrategy on a Marathon App

type VersionInfo

type VersionInfo struct {
	LastScalingAt      time.Time `json:"lastScalingAt"`
	LastConfigChangeAt time.Time `json:"lastConfigChangeAt"`
}

VersionInfo reflects the data used by the sub-element versionInfo on a Marathon App

type Volume

type Volume struct {
	ContainerPath string `json:"containerPath"`
	HostPath      string `json:"hostPath"`
	Mode          string `json:"mode"`
}

Directories

Path Synopsis
pkg

Jump to

Keyboard shortcuts

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