defmodule TelemetryDeck do
@moduledoc """
Elixir client for TelemetryDeck's Ingest API v2.
`TelemetryDeck` is the entry point for the package documentation. Use
`TelemetryDeck.Config` to describe your TelemetryDeck app, `TelemetryDeck.Signal`
to build an event, and `TelemetryDeck.Client` to send one signal or a batch of
signals.
## Example
iex> config =
...> TelemetryDeck.Config.new!(
...> namespace: "my-namespace",
...> app_id: "AAAA-BBBB",
...> request_fun: fn _url, _opts -> {:ok, %Req.Response{status: 202}} end
...> )
iex> signal =
...> TelemetryDeck.Signal.new!(
...> type: "App.User.signedIn",
...> client_user: TelemetryDeck.Hash.client_user("user-123", "secret")
...> )
iex> TelemetryDeck.Client.send(config, signal)
{:ok, %TelemetryDeck.Response{status: 202, body: ""}}
"""
@moduledoc since: "0.1.0"
end