Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Misc doc generation changes #40

Merged
merged 4 commits into from
Sep 25, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 4 additions & 10 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,15 @@ version: 2
jobs:
build:
docker:
# specify the version here
- image: circleci/elixir:1.11

# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/postgres:9.4

- image: cimg/elixir:1.11
environment:
MIX_ENV: test
working_directory: ~/spandex_datadog
steps:
- checkout

# specify any bash command here prefixed with `run: `
- run: mix local.hex --force
- run: mix local.rebar --force
- run: mix format --check-formatted
- run: mix deps.get
- run: mix compile --warnings-as-errors
- run: mix test
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# The directory Mix downloads your dependencies sources to.
/deps/

# Where 3rd-party dependencies like ExDoc output generated docs.
# Where third-party dependencies like ExDoc output generated docs.
/doc/

# Ignore .fetch files in case you like to edit your project deps locally.
Expand All @@ -22,3 +22,5 @@ erl_crash.dump
# Ignore package tarball (built via "mix hex.build").
spandex_datadog-*.tar

# Temporary files for e.g. tests.
/tmp/
14 changes: 7 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Change Log
# Changelog

All notable changes to this project will be documented in this file.
See [Conventional Commits](Https://conventionalcommits.org) for commit guidelines.
Expand All @@ -20,7 +20,7 @@ See [Conventional Commits](Https://conventionalcommits.org) for commit guideline



## [0.6.0](https://github.com/spandex-project/spandex_datadog/compare/0.5.0...0.6.0) (2020-4-23)
## [0.6.0](https://github.com/spandex-project/spandex_datadog/compare/0.5.0...0.6.0) (2020-04-23)



Expand All @@ -47,7 +47,7 @@ See [Conventional Commits](Https://conventionalcommits.org) for commit guideline

* Ensure tags are converted to strings (#16)

## [0.4.0](https://github.com/spandex-project/spandex_datadog/compare/0.3.1...0.4.0) (2019-2-1)
## [0.4.0](https://github.com/spandex-project/spandex_datadog/compare/0.3.1...0.4.0) (2019-02-01)



Expand All @@ -56,21 +56,21 @@ See [Conventional Commits](Https://conventionalcommits.org) for commit guideline

* support elixir 1.8 via msgpax bump

## [0.3.1](https://github.com/spandex-project/spandex_datadog/compare/0.3.1...0.3.1) (2018-10-19)
## [0.3.1](https://github.com/spandex-project/spandex_datadog/compare/0.3.0...0.3.1) (2018-10-19)

Initial release using automated changelog management

# Changelog prior to automated change log management

## [0.3.0]
## [0.3.0] (2018-09-16)

[0.3.0]: https://github.com/spandex-project/spandex_datadog/compare/v0.3.0...v0.2.0

### Added
- `SpandexDatadog.Adapter.inject_context/3` added to support the new version of
the `Spandex.Adapter` behaviour.

## [0.2.0]
## [0.2.0] (2018-08-31)

[0.2.0]: https://github.com/spandex-project/spandex_datadog/compare/v0.2.0...v0.1.0

Expand All @@ -94,7 +94,7 @@ Initial release using automated changelog management
- `SpandexDatadog.ApiServer.send_spans/2` is deprecated in favor of
`SpandexDatadog.ApiServer.send_trace/2`.

## [0.1.0]
## [0.1.0] (2018-08-23)

### Added
- Initial release of the `spandex_datadog` library separately from the
Expand Down
21 changes: 14 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# SpandexDatadog

[![CircleCI](https://circleci.com/gh/spandex-project/spandex_datadog.svg?style=svg)](https://circleci.com/gh/spandex-project/spandex_datadog)
[![Inline docs](http://inch-ci.org/github/spandex-project/spandex_datadog.svg)](http://inch-ci.org/github/spandex-project/spandex_datadog)
[![Coverage Status](https://coveralls.io/repos/github/spandex-project/spandex_datadog/badge.svg)](https://coveralls.io/github/spandex-project/spandex_datadog)
[![Hex pm](http://img.shields.io/hexpm/v/spandex_datadog.svg?style=flat)](https://hex.pm/packages/spandex_datadog)
[![SourceLevel](https://sourcelevel.io/github/spandex-project/spandex_datadog.svg)](https://sourcelevel.io/github/spandex-project/spandex_datadog)
[![Package Version](https://img.shields.io/hexpm/v/spandex_datadog.svg)](https://hex.pm/packages/spandex_datadog)
[![Hex Docs](https://img.shields.io/badge/hex-docs-lightgreen.svg)](https://hexdocs.pm/spandex_datadog/)
[![Downloads](https://img.shields.io/hexpm/dt/spandex_datadog.svg)](https://hex.pm/packages/spandex_datadog)
[![License](https://img.shields.io/hexpm/l/spandex_datadog.svg)](https://github.com/spandex-project/spandex_datadog/blob/master/LICENSE)
[![Last Updated](https://img.shields.io/github/last-commit/spandex-project/spandex_datadog.svg)](https://github.com/spandex-project/spandex_datadog/commits/master)

A datadog adapter for the `spandex` library.
A datadog adapter for the `:spandex` library.

## Installation

The package can be installed by adding `spandex_datadog` to your list of
The package can be installed by adding `:spandex_datadog` to your list of
dependencies in `mix.exs`:

```elixir
Expand Down Expand Up @@ -148,3 +148,10 @@ processed concurrently before trace calls become synchronous.
This concept of backpressure is very important, and strategies
for switching to synchronous operation are often surprisingly far more
performant than purely asynchronous strategies (and much more predictable).


## Copyright and License

Copyright (c) 2021 Zachary Daniel & Greg Mefford

Released under the MIT License, which can be found in the repository in [`LICENSE`](https://github.com/spandex-project/spandex_datadog/blob/master/LICENSE).
44 changes: 21 additions & 23 deletions mix.exs
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
defmodule SpandexDatadog.MixProject do
use Mix.Project

@source_url "https://github.com/spandex-project/spandex_datadog"
@version "1.1.0"

def project do
[
app: :spandex_datadog,
description: description(),
version: @version,
elixir: "~> 1.6",
start_permanent: Mix.env() == :prod,
deps: deps(),
elixirc_paths: elixirc_paths(Mix.env()),
description: "A datadog API adapter for spandex.",
docs: docs(),
package: package()
elixir: "~> 1.6",
elixirc_paths: elixirc_paths(Mix.env()),
package: package(),
start_permanent: Mix.env() == :prod,
version: @version
]
end

Expand All @@ -26,39 +27,36 @@ defmodule SpandexDatadog.MixProject do
defp package do
[
name: :spandex_datadog,
maintainers: ["Zachary Daniel", "Greg Mefford"],
licenses: ["MIT License"],
links: %{"GitHub" => "https://github.com/spandex-project/spandex_datadog"}
maintainers: ["Greg Mefford"],
licenses: ["MIT"],
links: %{
"Changelog" => "https://hexdocs.pm/spandex_datadog/changelog.html",
"GitHub" => @source_url,
"Sponsor" => "https://github.com/sponsors/GregMefford"
}
]
end

defp description do
"""
A datadog API adapter for spandex.
"""
end

defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]

defp docs do
[
extras: ["CHANGELOG.md", "README.md"],
main: "readme",
extras: [
"README.md"
]
formatters: ["html"],
skip_undefined_reference_warnings_on: ["CHANGELOG.md"]
]
end

defp deps do
[
{:ex_doc, ">= 0.0.0", only: :dev},
{:git_ops, "~> 2.0", only: [:dev]},
{:inch_ex, "~> 2.0", only: [:dev, :test]},
{:msgpax, "~> 2.2.1"},
{:spandex, "~> 3.0"},
{:telemetry, "~> 0.4"},
{:httpoison, "~> 0.13 or ~> 1.0", only: :test},
{:msgpax, "~> 2.2.1"}
# Dev- and test-only deps
{:ex_doc, ">= 0.0.0", only: :dev, runtime: false},
{:httpoison, "~> 0.13 or ~> 1.0", only: :test}
]
end
end
5 changes: 0 additions & 5 deletions mix.lock
Original file line number Diff line number Diff line change
@@ -1,15 +1,10 @@
%{
"bunt": {:hex, :bunt, "0.2.0", "951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], [], "hexpm", "7af5c7e09fe1d40f76c8e4f9dd2be7cebd83909f31fee7cd0e9eadc567da8353"},
"certifi": {:hex, :certifi, "2.5.3", "70bdd7e7188c804f3a30ee0e7c99655bc35d8ac41c23e12325f36ab449b70651", [:rebar3], [{:parse_trans, "~>3.3", [hex: :parse_trans, repo: "hexpm", optional: false]}], "hexpm", "ed516acb3929b101208a9d700062d520f3953da3b6b918d866106ffa980e1c10"},
"earmark_parser": {:hex, :earmark_parser, "1.4.12", "b245e875ec0a311a342320da0551da407d9d2b65d98f7a9597ae078615af3449", [:mix], [], "hexpm", "711e2cc4d64abb7d566d43f54b78f7dc129308a63bc103fbd88550d2174b3160"},
"ex_doc": {:hex, :ex_doc, "0.23.0", "a069bc9b0bf8efe323ecde8c0d62afc13d308b1fa3d228b65bca5cf8703a529d", [:mix], [{:earmark_parser, "~> 1.4.0", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}], "hexpm", "f5e2c4702468b2fd11b10d39416ddadd2fcdd173ba2a0285ebd92c39827a5a16"},
"git_cli": {:hex, :git_cli, "0.3.0", "a5422f9b95c99483385b976f5d43f7e8233283a47cda13533d7c16131cb14df5", [:mix], [], "hexpm", "78cb952f4c86a41f4d3511f1d3ecb28edb268e3a7df278de2faa1bd4672eaf9b"},
"git_ops": {:hex, :git_ops, "2.4.2", "291a4f105dfa3d34cffa56cf8faf0e8c2699b49d3316270aa4881e75c62b1832", [:mix], [{:git_cli, "~> 0.2", [hex: :git_cli, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "bd9051c49e17d0dc2e0ae9306292f9f5f671d402227f5dda12e69a702198dec4"},
"hackney": {:hex, :hackney, "1.17.0", "717ea195fd2f898d9fe9f1ce0afcc2621a41ecfe137fae57e7fe6e9484b9aa99", [:rebar3], [{:certifi, "~>2.5", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "~>3.3", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "64c22225f1ea8855f584720c0e5b3cd14095703af1c9fbc845ba042811dc671c"},
"httpoison": {:hex, :httpoison, "1.8.0", "6b85dea15820b7804ef607ff78406ab449dd78bed923a49c7160e1886e987a3d", [:mix], [{:hackney, "~> 1.17", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "28089eaa98cf90c66265b6b5ad87c59a3729bea2e74e9d08f9b51eb9729b3c3a"},
"idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"},
"inch_ex": {:hex, :inch_ex, "2.0.0", "24268a9284a1751f2ceda569cd978e1fa394c977c45c331bb52a405de544f4de", [:mix], [{:bunt, "~> 0.2", [hex: :bunt, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "96d0ec5ecac8cf63142d02f16b7ab7152cf0f0f1a185a80161b758383c9399a8"},
"jason": {:hex, :jason, "1.2.2", "ba43e3f2709fd1aa1dce90aaabfd039d000469c05c56f0b8e31978e03fa39052", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "18a228f5f0058ee183f29f9eae0805c6e59d61c3b006760668d8d18ff0d12179"},
"makeup": {:hex, :makeup, "1.0.5", "d5a830bc42c9800ce07dd97fa94669dfb93d3bf5fcf6ea7a0c67b2e0e4a7f26c", [:mix], [{:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cfa158c02d3f5c0c665d0af11512fed3fba0144cf1aadee0f2ce17747fba2ca9"},
"makeup_elixir": {:hex, :makeup_elixir, "0.15.0", "98312c9f0d3730fde4049985a1105da5155bfe5c11e47bdc7406d88e01e4219b", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.1", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "75ffa34ab1056b7e24844c90bfc62aaf6f3a37a15faa76b07bc5eba27e4a8b4a"},
"metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"},
Expand Down
11 changes: 9 additions & 2 deletions test/support/datadog_test_api_server.ex
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,15 @@ defmodule SpandexDatadog.Test.Support.TestApiServer do
Simply sends the data that would have been sent to datadog to self() as a message
so that the test can assert on payloads that would have been sent to datadog
"""

alias Spandex.Trace
alias SpandexDatadog.ApiServer

def send_trace(trace, _opts \\ []) do
formatted = SpandexDatadog.ApiServer.format(trace)
send(self(), {:sent_datadog_spans, formatted})
send(self(), {:sent_datadog_spans, format(trace)})
end

defp format(%Trace{spans: spans, priority: priority, baggage: baggage}) do
Enum.map(spans, fn span -> ApiServer.format(span, priority, baggage) end)
end
end