List of usage examples for com.amazonaws.services.cloudwatch.model StandardUnit Milliseconds
StandardUnit Milliseconds
To view the source code for com.amazonaws.services.cloudwatch.model StandardUnit Milliseconds.
Click Source Link
From source file:com.amazon.kinesis.streaming.agent.metrics.AbstractMetricsScope.java
License:Open Source License
@Override public void addTimeMillis(String name, long duration) { addData(name, duration, StandardUnit.Milliseconds); }
From source file:com.amediamanager.metrics.MetricAspect.java
License:Apache License
protected void emitMetrics(String service, String operation, long startTime, Throwable exception) { final MetricDatum latency = newDatum(service, operation, startTime).withMetricName("Latency") .withUnit(StandardUnit.Milliseconds).withValue((double) System.currentTimeMillis() - startTime); metricBatcher.addDatum("AMM", latency); final MetricDatum success = newDatum(service, operation, startTime).withMetricName("Success") .withValue(exception == null ? 1.0 : 0.0).withUnit(StandardUnit.Count); metricBatcher.addDatum("AMM", success); }
From source file:com.github.lpezet.antiope.metrics.aws.spi.PredefinedMetricTransformer.java
License:Open Source License
/** * Returns all the latency metric data recorded for the specified metric * event type; or an empty list if there is none. The number of metric datum * in the returned list should be exactly one when there is no retries, or * more than one when there are retries. * /* www . j a v a2 s .c o m*/ * @param pIncludesRequestType * true iff the "request" dimension is to be included; */ protected List<MetricDatum> latencyMetricOf(MetricType pMetricType, Request<?> pReq, Object pResponse, boolean pIncludesRequestType) { IMetrics m = pReq.getMetrics(); TimingInfo oRoot = m.getTimingInfo(); final String oMetricName = pMetricType.name(); List<TimingInfo> oSubMeasures = oRoot.getAllSubMeasurements(oMetricName); if (oSubMeasures != null) { List<MetricDatum> oResult = new ArrayList<MetricDatum>(oSubMeasures.size()); for (TimingInfo oSub : oSubMeasures) { if (oSub.isEndTimeKnown()) { // being defensive List<Dimension> oDims = new ArrayList<Dimension>(); oDims.add(new Dimension().withName(Dimensions.MetricType.name()).withValue(oMetricName)); // Either a non request type specific datum is created per // sub-measurement, or a request type specific one is // created but not both if (pIncludesRequestType) { oDims.add(new Dimension().withName(Dimensions.RequestType.name()) .withValue(requestType(pReq))); } MetricDatum oDatum = new MetricDatum().withMetricName(pReq.getServiceName()) .withDimensions(oDims).withUnit(StandardUnit.Milliseconds) .withValue(oSub.getTimeTakenMillisIfKnown()); oResult.add(oDatum); } } return oResult; } return Collections.emptyList(); }
From source file:com.github.lpezet.antiope.metrics.aws.spi.PredefinedMetricTransformer.java
License:Open Source License
/** * Returns a request type specific metrics for * {@link Field#ClientExecuteTime} which is special in the sense that it * makes a more accurate measurement by taking the {@link TimingInfo} at the * root into account./*from w w w. j a va2s .c o m*/ */ protected List<MetricDatum> latencyOfClientExecuteTime(Request<?> pReq, Object pResponse) { IMetrics m = pReq.getMetrics(); TimingInfo oRoot = m.getTimingInfo(); final String oMetricName = Field.ClientExecuteTime.name(); if (oRoot.isEndTimeKnown()) { // being defensive List<Dimension> oDims = new ArrayList<Dimension>(); oDims.add(new Dimension().withName(Dimensions.MetricType.name()).withValue(oMetricName)); // request type specific oDims.add(new Dimension().withName(Dimensions.RequestType.name()).withValue(requestType(pReq))); MetricDatum oDatum = new MetricDatum().withMetricName(pReq.getServiceName()).withDimensions(oDims) .withUnit(StandardUnit.Milliseconds).withValue(oRoot.getTimeTakenMillisIfKnown()); return Collections.singletonList(oDatum); } return Collections.emptyList(); }
From source file:io.micrometer.cloudwatch.CloudWatchMeterRegistry.java
License:Apache License
private StandardUnit toStandardUnit(@Nullable String unit) { if (unit == null) { return StandardUnit.None; }/*from w w w .j a va2 s . c o m*/ switch (unit.toLowerCase()) { case "bytes": return StandardUnit.Bytes; case "milliseconds": return StandardUnit.Milliseconds; case "count": return StandardUnit.Count; } return StandardUnit.None; }
From source file:org.onebusaway.aws.monitoring.impl.metrics.WebappMetricsImpl.java
License:Apache License
@Override public void publishVehicleMonitoringMetrics() { MetricResponse metricResponse = getUrlWithResponseTime(vehicle_monitoring_url); publishMetric(MetricName.VehicleMonitoringResponseTime, StandardUnit.Milliseconds, metricResponse.getResponseTime()); publishMetric(MetricName.VehicleMonitoringErrorResponse, StandardUnit.Count, metricResponse.getMetric()); }
From source file:org.onebusaway.aws.monitoring.impl.metrics.WebappMetricsImpl.java
License:Apache License
@Override public void publishStopMonitoringMetrics() { MetricResponse metricResponse = getUrlWithResponseTime(stop_monitoring_url); publishMetric(MetricName.StopMonitoringResponseTime, StandardUnit.Milliseconds, metricResponse.getResponseTime()); publishMetric(MetricName.StopMonitoringErrorResponse, StandardUnit.Count, metricResponse.getMetric()); }
From source file:org.onebusaway.aws.monitoring.impl.metrics.WebappMetricsImpl.java
License:Apache License
@Override public void publishSmsApiMetrics() { MetricResponse metricResponse = getUrlWithResponseTime(sms_webapp_url); publishMetric(MetricName.SMSWebappResponseTime, StandardUnit.Milliseconds, metricResponse.getResponseTime()); publishMetric(MetricName.SMSWebappErrorResponse, StandardUnit.Count, metricResponse.getMetric()); }
From source file:org.springframework.cloud.aws.actuate.metrics.CloudWatchMetricWriter.java
License:Apache License
protected static MetricDatum createMetricDatumForUnknownValue(Metric<?> value) { String name = value.getName(); MetricDatum metricDatum = new MetricDatum().withMetricName(name).withTimestamp(value.getTimestamp()); if (name.contains("timer.") && !name.contains("gauge.") && !name.contains("counter.")) { // Duration metricDatum.withValue(value.getValue().doubleValue()).withUnit(StandardUnit.Milliseconds); } else {/*from w w w.ja v a 2 s . com*/ // Simple value metricDatum.withValue(value.getValue().doubleValue()).withUnit(StandardUnit.Count); } return metricDatum; }
From source file:org.web.online.cloudwatch.tomcat.valve.ElapsedTimeAggregator.java
License:Apache License
/** * Construct the instance. Sets up the Cloud Watch metric with the given parameters. * /*w w w . j a va 2 s . c o m*/ * @param namespace namespace value to use to push data to CloudWatch * @param region region used to look for instance tags and to push CloudWatch data * @param instanceId instanceId to use as dimension * @param asgName autoscaling group name to use as dimension * @param ec2Client ec2 client to use in querying tags to find ASG name * @param cloudWatchClient cloud watch client to use to push CloudWatch data */ public ElapsedTimeAggregator(String namespace, Region region, String instanceId, String asgName, AmazonEC2 ec2Client, AmazonCloudWatch cloudWatchClient) { this.region = region; if (instanceId == null) { throw new IllegalStateException("unable to find instance id"); } // get the ASG name if (asgName == null) { ec2Client.setRegion(region); List<TagDescription> tagDescriptions = ec2Client.describeTags(new DescribeTagsRequest().withFilters( new Filter().withName("resource-id").withValues(instanceId), new Filter().withName("key").withValues("aws:autoscaling:groupName"))).getTags(); if (tagDescriptions.size() == 1) { asgName = tagDescriptions.get(0).getValue(); } } if (asgName == null) { log.warn("unable to determine AutoScalingGroupName for " + instanceId + ". No statistics will be published under the AutoScalingGroupName dimension"); } cloudWatchClient.setRegion(region); this.cloudWatchClient = cloudWatchClient; String metricName = "ElapsedTime"; Dimension instanceDimension = new Dimension().withName("InstanceId").withValue(instanceId); StatisticSet statisticSet = new StatisticSet(); // set up the static MetricDatum and associate to the PutMetricDataRequest MetricDatum instanceMetricDatum = new MetricDatum().withMetricName(metricName) .withDimensions(instanceDimension).withStatisticValues(statisticSet) .withUnit(StandardUnit.Milliseconds); putMetricDataRequest = new PutMetricDataRequest().withNamespace(namespace) .withMetricData(instanceMetricDatum); // and a special zero value request since statistic set doesn't // support zero values MetricDatum zeroValueInstanceMetricDatum = new MetricDatum().withMetricName(metricName) .withDimensions(instanceDimension).withValue(0d).withUnit(StandardUnit.Milliseconds); zeroValuePutMetricDataRequest = new PutMetricDataRequest().withNamespace(namespace) .withMetricData(zeroValueInstanceMetricDatum); // also push metrics for the ASG dimension if we have an ASG name if (asgName != null) { Dimension asgDimension = new Dimension().withName("AutoScalingGroupName").withValue(asgName); MetricDatum asgMetricDatum = new MetricDatum().withMetricName(metricName).withDimensions(asgDimension) .withStatisticValues(statisticSet).withUnit(StandardUnit.Milliseconds); putMetricDataRequest.withMetricData(asgMetricDatum); MetricDatum zeroValueAsgMetricDatum = new MetricDatum().withMetricName(metricName) .withDimensions(asgDimension).withValue(0d).withUnit(StandardUnit.Milliseconds); zeroValuePutMetricDataRequest.withMetricData(zeroValueAsgMetricDatum); } }