metrics-core/src/main/java/software/amazon/swage/metrics/record/file/FileRecorder.java (5 lines): - line 43: * TODO: output in a useful format - line 79: //TODO: take an injected executor, or maybe use common fork/join pool - line 90: //TODO: periodic/appropriate flushing - line 140: //TODO: something besides silently ignore? - line 170: //TODO: something besides silently ignore? type-safe/src/main/java/software/amazon/swage/collection/TypedMap.java (5 lines): - line 64: * TODO: builder defined here? - line 65: * TODO: explore auto-generating builders based on keys, perhaps with Immutables lib - line 77: * TODO: namespace keys - line 78: * TODO: a variant taking a TypeLiteral or equivalent - line 261: //TODO: parallelStream? metrics-core/src/main/java/software/amazon/swage/metrics/record/cloudwatch/CloudWatchRecorder.java (4 lines): - line 395: //TODO: something besides silently ignore, perhaps IllegalStateException? - line 419: //TODO: something besides silently ignore, perhaps IllegalStateException? - line 429: //TODO: stop propagating new Unit abstractions everywhere - line 483: //TODO: ensure "Each PutMetricData request is limited to 40 KB in size for HTTP POST requests." metrics-core/src/main/java/software/amazon/swage/metrics/record/cloudwatch/DimensionMapper.java (4 lines): - line 82: //TODO: should ID be a global dimension always? - line 106: //TODO: support list of dimension sets, like - line 110: //TODO: should this take opaque strings, then do a compare against key names later? - line 112: //TODO: should this object just be a configured list of keys, leave the pull-from-context for elsewhere? metrics-core/src/main/java/software/amazon/swage/metrics/record/cloudwatch/MetricDataAggregator.java (4 lines): - line 83: //TODO: avoid doing this every time for a context - caching, or? - line 122: //TODO: use two maps and swap between, to ensure 'perfect' segmentation? - line 126: //TODO: better to have no timestamp at all? - line 137: //TODO: reuse one of the passed sets, and pollute a MetricDatum? metrics-core/src/main/java/software/amazon/swage/metrics/jmx/MXBeanPoller.java (3 lines): - line 166: //TODO: should there be per-emit context attributes? - line 167: //TODO: or should we have one Context and only close at the very end? - line 170: //TODO: emit each sensor on its own scheduled thread instead of all synchronously? type-safe/src/main/java/software/amazon/swage/collection/ImmutableTypedMap.java (2 lines): - line 78: //TODO: something less brain-dead - line 96: //TODO: something less brain-dead metrics-api/src/main/java/software/amazon/swage/metrics/Metric.java (2 lines): - line 27: * TODO: different types for sample vs. count metrics? - line 28: * TODO: unit of metric captured here? metrics-api/src/main/java/software/amazon/swage/metrics/record/MetricRecorder.java (2 lines): - line 82: * TODO: JSR-305 @ThreadSafe - line 83: * TODO: add explicit shutdown/lifecycle management? type-safe/src/benchmarks/java/software/amazon/swage/collection/GuavaTypedMap.java (2 lines): - line 60: //TODO: something less brain-dead - line 87: //TODO: something less brain-dead metrics-core/src/main/java/software/amazon/swage/metrics/StandardMetric.java (1 line): - line 22: * TODO: break this up into actual standard metrics, specific service metrics type-safe/src/benchmarks/java/software/amazon/swage/collection/TypedMapBenchmarks.java (1 line): - line 66: //TODO: test some data other than strings metrics-core/src/main/java/software/amazon/swage/metrics/record/file/RollingFileWriter.java (1 line): - line 38: * TODO: not this, leverage log4j or some other robust implementation metrics-core/src/main/java/software/amazon/swage/metrics/jmx/sensor/BufferPoolSensor.java (1 line): - line 40: //TODO: something else? metrics-api/src/main/java/software/amazon/swage/metrics/ContextData.java (1 line): - line 79: * TODO: explore auto-generating builders based on keys, perhaps with Immutables lib metrics-core/src/main/java/software/amazon/swage/metrics/jmx/sensor/OperatingSystemSensor.java (1 line): - line 83: //TODO: find a better way to do this metrics-core/src/main/java/software/amazon/swage/metrics/measures/Timer.java (1 line): - line 39: //TODO: explicit start method? metrics-core/src/main/java/software/amazon/swage/metrics/jmx/sensor/GarbageCollectorSensor.java (1 line): - line 63: //TODO: individual metrics per gc? metrics-core/src/main/java/software/amazon/swage/metrics/jmx/sensor/RuntimeSensor.java (1 line): - line 36: // TODO: pull out jvm runtime attributes into context type-safe/src/benchmarks/java/software/amazon/swage/collection/ListTypedMap.java (1 line): - line 153: //TODO: something less brain-dead