public void setStats(Service service) { if (cpuUsage != 0) { service.setStat(FIELD_NAME_CPU_USAGE, cpuUsage); } if (memUsage != 0) { service.setStat(ContainerStats.FIELD_NAME_MEM_USAGE, memUsage); } if (memLimit != 0) { service.setStat(ContainerStats.FIELD_NAME_MEM_LIMIT, memLimit); } if (networkIn != 0) { service.setStat(ContainerStats.FIELD_NAME_NETWORK_IN, networkIn); } if (networkOut != 0) { service.setStat(ContainerStats.FIELD_NAME_NETWORK_OUT, networkOut); } if (healthCheckSuccess != null) { service.setStat(ContainerStats.FIELD_NAME_HEALTH_SUCCESS_COUNT, healthSuccessCount); service.setStat(ContainerStats.FIELD_NAME_HEALTH_FAILURE_COUNT, healthFailureCount); service.setStat(ContainerStats.FIELD_NAME_HEALTH_CHECK_SUCCESS, healthCheckSuccess ? 1 : 0); } if (containerStopped != null) { service.setStat(ContainerStats.FIELD_NAME_CONTAINER_STOPPED, containerStopped ? 1 : 0); } }
public static void setAuthDurationStat(Service service, String prefix, double value) { ServiceStat st = ServiceStatUtils.getOrCreateDailyTimeSeriesHistogramStat(service, prefix, ServiceStatUtils.AGGREGATION_TYPE_AVG_MAX); service.setStat(st, value); st = ServiceStatUtils.getOrCreateHourlyTimeSeriesHistogramStat(service, prefix, ServiceStatUtils.AGGREGATION_TYPE_AVG_MAX); service.setStat(st, value); } }
void createTimeSeriesStat(String name, double v) { Service service = getManagementService(); EnumSet<AggregationType> types = EnumSet.of(AggregationType.AVG); ServiceStat dayStat = ServiceStatUtils.getOrCreateDailyTimeSeriesStat(service, name, types); ServiceStat hourStat = ServiceStatUtils.getOrCreateHourlyTimeSeriesHistogramStat(service, name, types); service.setStat(dayStat, v); service.setStat(hourStat, v); }
/** * Sets a metric with unit and value in the ServiceStat associated with the service */ public static void setStat(Service service, String name, String unit, double value) { service.getHost().log(Level.INFO, "Setting stat [service=%s] [name=%s] [unit=%s] [value=%f]", service.getClass(), name, unit, value); ServiceStats.ServiceStat stat = new ServiceStats.ServiceStat(); stat.name = name; stat.unit = unit; service.setStat(stat, value); }
private void updateStats(Service s, long actual, long limit, String servicePath) { ServiceStats.ServiceStat durationStat = ServiceStatUtils.getOrCreateHistogramStat(s, Service.STAT_NAME_MAINTENANCE_DURATION); s.setStat(durationStat, actual); if (limit * 2 < actual) { this.host.log(Level.WARNING, "Service %s exceeded maintenance interval %d. Actual: %d", servicePath, limit, actual); s.adjustStat( Service.STAT_NAME_MAINTENANCE_COMPLETION_DELAYED_COUNT, 1); } } }
mgmtService.setStat(ServiceHostManagementService.STAT_NAME_SERVICE_COUNT, hostState.serviceCount); mgmtService.setStat( ServiceHostManagementService.STAT_NAME_AVAILABLE_MEMORY_BYTES_PER_HOUR, freeMemory); mgmtService.setStat( ServiceHostManagementService.STAT_NAME_AVAILABLE_MEMORY_BYTES_PER_DAY, freeMemory); mgmtService.setStat( ServiceHostManagementService.STAT_NAME_AVAILABLE_DISK_BYTES_PER_HOUR, shi.freeDiskByteCount); mgmtService.setStat( ServiceHostManagementService.STAT_NAME_AVAILABLE_DISK_BYTES_PER_DAY, shi.freeDiskByteCount); mgmtService.setStat( ServiceHostManagementService.STAT_NAME_CPU_USAGE_PCT_PER_HOUR, pctUse); mgmtService.setStat( ServiceHostManagementService.STAT_NAME_CPU_USAGE_PCT_PER_DAY, pctUse);
private void verifyStatCreationAttemptAfterGet() throws Throwable { // Create a stat without a log histogram or time series, then try to recreate with // the extra features and make sure its updated List<Service> services = this.host.doThroughputServiceStart( 1, MinimalTestService.class, this.host.buildMinimalTestState(), EnumSet.of(ServiceOption.INSTRUMENTATION), null); final String statName = "foo"; for (Service service : services) { service.setStat(statName, 1.0); ServiceStat st = service.getStat(statName); assertTrue(st.timeSeriesStats == null); assertTrue(st.logHistogram == null); ServiceStat stNew = new ServiceStat(); stNew.name = statName; stNew.logHistogram = new ServiceStatLogHistogram(); stNew.timeSeriesStats = new TimeSeriesStats(60, TimeUnit.MINUTES.toMillis(1), EnumSet.of(AggregationType.AVG)); service.setStat(stNew, 11.0); st = service.getStat(statName); assertTrue(st.timeSeriesStats != null); assertTrue(st.logHistogram != null); } }
private void verifyStatCreationAttemptAfterGet() throws Throwable { // Create a stat without a log histogram or time series, then try to recreate with // the extra features and make sure its updated List<Service> services = this.host.doThroughputServiceStart( 1, MinimalTestService.class, this.host.buildMinimalTestState(), EnumSet.of(ServiceOption.INSTRUMENTATION), null); final String statName = "foo"; for (Service service : services) { service.setStat(statName, 1.0); ServiceStat st = service.getStat(statName); assertTrue(st.timeSeriesStats == null); assertTrue(st.logHistogram == null); ServiceStat stNew = new ServiceStat(); stNew.name = statName; stNew.logHistogram = new ServiceStatLogHistogram(); stNew.timeSeriesStats = new TimeSeriesStats(60, TimeUnit.MINUTES.toMillis(1), EnumSet.of(AggregationType.AVG)); service.setStat(stNew, 11.0); st = service.getStat(statName); assertTrue(st.timeSeriesStats != null); assertTrue(st.logHistogram != null); } }
this.managementService.setStat( ServiceHostManagementService.STAT_NAME_PENDING_SERVICE_DELETION_COUNT, this.pendingServiceDeletions.size());
0); getManagementService().setStat(ServiceHostManagementService.STAT_NAME_THREAD_COUNT, Utils.DEFAULT_THREAD_COUNT);