Client for AppOptics API, as listed on AppOptics community created language bindings
The package can be installed by adding app_optex to your list of dependencies in mix.exs:
def deps do [ {:app_optex, "~> 0.1.0"} ] endDocumentation can be found at https://hexdocs.pm/app_optex.
Uses the APPOPTICS_TOKEN environment variable.
iex> AppOptex.measurement("my.metric", 10, %{my_tag: "value"}) :ok iex> AppOptex.measurement(%{name: "my.metric", value: 10}, %{my_tag: "value"}) :ok iex> AppOptex.measurements([%{name: "my.metric", value: 1}, %{name: "my.other_metric", value: 5}], %{my_tag: "value"}) :ok iex> AppOptex.read_measurements("my.metric", 60, %{duration: 86400}) %{ "attributes" => %{"created_by_ua" => "hackney/1.15.1"}, "links" => [], "name" => "my.metric", "resolution" => 60, "series" => [ %{ "measurements" => [%{"time" => 1554720060, "value" => 10.0}], "tags" => %{"my_tag" => "value"} } ] }These tags will be applied to every sent measurement.
iex> AppOptex.put_global_tags(%{my: "tag"}) :ok iex> AppOptex.get_global_tags() %{my: "tag"} iex> AppOptex.push_to_queue([%{name: "my.metric.1", value: 1}], %{test: true}) :ok iex> AppOptex.push_to_queue([%{name: "my.metric.2", value: 1}], %{test: true}) :ok iex> AppOptex.push_to_queue([%{name: "my.metric.3", value: 1}], %{test: true}) :ok iex> AppOptex.flush_queue() :ok