changed CHANGELOG.md
 
@@ -1,5 1,12 @@
1
1
## CHANGELOG
2
2
3
### `v1.22.0`
4
5
Features
6
* Report a custom metric. []()
7
8
------
9
3
10
### `v1.21.2`
4
11
5
12
Fixes
changed VERSION
 
@@ -1 1 @@
1
- 1.21.2
1
1.22.0
changed hex_metadata.config
 
@@ -136,4 136,4 @@
136
136
{<<"optional">>,true},
137
137
{<<"repository">>,<<"hexpm">>},
138
138
{<<"requirement">>,<<">= 0.11.0">>}]]}.
139
- {<<"version">>,<<"1.21.2">>}.
139
{<<"version">>,<<"1.22.0">>}.
changed lib/new_relic.ex
 
@@ -169,6 169,16 @@ defmodule NewRelic do
169
169
defdelegate report_custom_event(type, attributes),
170
170
to: NewRelic.Harvest.Collector.CustomEvent.Harvester
171
171
172
@doc """
173
Report a Custom metric.
174
175
```elixir
176
NewRelic.report_custom_metric("My/Metric", 123)
177
```
178
"""
179
defdelegate report_custom_metric(name, value),
180
to: NewRelic.Harvest.Collector.Metric.Harvester
181
172
182
@doc false
173
183
defdelegate report_aggregate(meta, values), to: NewRelic.Aggregate.Reporter
changed lib/new_relic/harvest/collector/metric/harvester.ex
 
@@ -23,6 23,9 @@ defmodule NewRelic.Harvest.Collector.Metric.Harvester do
23
23
24
24
# API
25
25
26
def report_custom_metric(name, value),
27
do: report_metric({:custom, name}, count: 1, value: value)
28
26
29
def report_metric(identifier, values),
27
30
do:
28
31
Collector.Metric.HarvestCycle
changed lib/new_relic/metric/metric_data.ex
 
@@ -5,6 5,15 @@ defmodule NewRelic.Metric.MetricData do
5
5
6
6
alias NewRelic.Metric
7
7
8
def transform({:custom, name}, count: count, value: value),
9
do: %Metric{
10
name: join(["Custom", name]),
11
call_count: count,
12
total_call_time: value,
13
min_call_time: value,
14
max_call_time: value
15
}
16
8
17
def transform(:http_dispatcher, duration_s: duration_s),
9
18
do: %Metric{
10
19
name: :HttpDispatcher,