/* * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.addthis.hydra.job.spawn; import java.util.concurrent.TimeUnit; import com.addthis.hydra.util.SettableGauge; import com.yammer.metrics.Metrics; import com.yammer.metrics.core.Counter; import com.yammer.metrics.core.Meter; import static com.addthis.hydra.util.SettableGauge.newSettableGauge; public final class SpawnMetrics { static final SettableGauge<Integer> processingTaskCount = newSettableGauge(Spawn.class, "processingTasks", 0); static final SettableGauge<Integer> replicatingTaskCount = newSettableGauge(Spawn.class, "replicatingTasks", 0); static final SettableGauge<Integer> backingUpTaskCount = newSettableGauge(Spawn.class, "backingUpTasks", 0); static final SettableGauge<Integer> runningTaskCount = newSettableGauge(Spawn.class, "runningTasks", 0); static final SettableGauge<Integer> queuedTaskCount = newSettableGauge(Spawn.class, "queuedTasks", 0); static final SettableGauge<Integer> queuedTaskNoSlotCount = newSettableGauge(Spawn.class, "queuedTasksNoSlot", 0); static final SettableGauge<Integer> failTaskCount = newSettableGauge(Spawn.class, "failedTasks", 0); static final SettableGauge<Integer> rebalancingTaskCount = newSettableGauge(Spawn.class, "rebalancingTasks", 0); static final SettableGauge<Integer> totalTaskCount = newSettableGauge(Spawn.class, "totalTasks", 0); static final SettableGauge<Integer> runningJobCount = newSettableGauge(Spawn.class, "runningJobs", 0); static final SettableGauge<Integer> queuedJobCount = newSettableGauge(Spawn.class, "queuedJobs", 0); static final SettableGauge<Integer> failJobCount = newSettableGauge(Spawn.class, "failedJobs", 0); static final SettableGauge<Integer> hungJobCount = newSettableGauge(Spawn.class, "hungJobs", 0); static final SettableGauge<Integer> totalJobCount = newSettableGauge(Spawn.class, "totalJobs", 0); static final SettableGauge<Float> diskAvailablePercent = newSettableGauge(Spawn.class, "diskAvailable", 0.0f); static final SettableGauge<Integer> availableSlotCount = newSettableGauge(Spawn.class, "availableSlots", 0); static final SettableGauge<Integer> totalSlotCount = newSettableGauge(Spawn.class, "totalSlots", 0); static final Meter tasksStartedPerHour = Metrics.newMeter(Spawn.class, "tasksStartedPerHour", "tasksStartedPerHour", TimeUnit.HOURS); static final Meter tasksCompletedPerHour = Metrics.newMeter(Spawn.class, "tasksCompletedPerHour", "tasksCompletedPerHour", TimeUnit.HOURS); static final Meter jobsStartedPerHour = Metrics.newMeter(Spawn.class, "jobsStartedPerHour", "jobsStartedPerHour", TimeUnit.HOURS); static final Meter jobsCompletedPerHour = Metrics.newMeter(Spawn.class, "jobsCompletedPerHour", "jobsCompletedPerHour", TimeUnit.HOURS); static final Meter jobTaskUpdateHeartbeatSuccessMeter = Metrics.newMeter(Spawn.class, "jobTaskUpdateHeartbeatSuccess", "jobTaskUpdateHeartbeatSuccess", TimeUnit.MINUTES); static final Counter quiesceCount = Metrics.newCounter(Spawn.class, "quiesced"); static final Counter nonConsumingClientDropCounter = Metrics.newCounter(Spawn.class, "clientDrops"); static final Counter nonHostTaskMessageCounter = Metrics.newCounter(Spawn.class, "nonHostTaskMessage"); static final Counter jobTaskUpdateHeartbeatFailureCounter = Metrics.newCounter(Spawn.class, "jobTaskUpdateHeartbeatFailure"); private SpawnMetrics() {} }