Skip to content

Commit 9083cd7

Browse files
committed
[#27] Instrument the adapter with Telemetry events
1 parent 1bb02d8 commit 9083cd7

File tree

4 files changed

+70
-38
lines changed

4 files changed

+70
-38
lines changed

lib/nebulex_redis_adapter.ex

Lines changed: 55 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ defmodule NebulexRedisAdapter do
3434
* `:conn_opts` - Redis client options (`Redix` options in this case).
3535
For more information about connection options, see `Redix` docs.
3636
37+
## Telemetry events
38+
39+
This adapter emits the recommended Telemetry events.
40+
See the "Telemetry events" section in `Nebulex.Cache`
41+
for more information.
42+
3743
## TTL or Expiration Time
3844
3945
As is explained in `Nebulex.Cache`, most of the write-like functions support
@@ -290,6 +296,7 @@ defmodule NebulexRedisAdapter do
290296
@behaviour Nebulex.Adapter.Entry
291297
@behaviour Nebulex.Adapter.Queryable
292298

299+
import Nebulex.Adapter
293300
import Nebulex.Helpers
294301
import NebulexRedisAdapter.Encoder
295302

@@ -367,7 +374,9 @@ defmodule NebulexRedisAdapter do
367374
keyslot: keyslot,
368375
nodes: nodes,
369376
pool_size: pool_size,
370-
default_dt: Keyword.get(opts, :default_data_type, :object)
377+
default_dt: Keyword.get(opts, :default_data_type, :object),
378+
telemetry: Keyword.fetch!(opts, :telemetry),
379+
telemetry_prefix: Keyword.fetch!(opts, :telemetry_prefix)
371380
}
372381

373382
{:ok, child_spec, meta}
@@ -391,16 +400,20 @@ defmodule NebulexRedisAdapter do
391400
## Nebulex.Adapter.Entry
392401

393402
@impl true
394-
def get(adapter_meta, key, _opts) do
403+
defspan get(adapter_meta, key, _opts) do
395404
with_pipeline(adapter_meta, key, [["GET", encode(key)]])
396405
end
397406

398407
@impl true
399-
def get_all(%{mode: :standalone} = adapter_meta, keys, _opts) do
408+
defspan get_all(adapter_meta, keys, _opts) do
409+
do_get_all(adapter_meta, keys)
410+
end
411+
412+
defp do_get_all(%{mode: :standalone} = adapter_meta, keys) do
400413
mget(nil, adapter_meta, keys)
401414
end
402415

403-
def get_all(adapter_meta, keys, _opts) do
416+
defp do_get_all(adapter_meta, keys) do
404417
keys
405418
|> group_keys_by_hash_slot(adapter_meta)
406419
|> Enum.reduce(%{}, fn {hash_slot, keys}, acc ->
@@ -423,7 +436,7 @@ defmodule NebulexRedisAdapter do
423436
end
424437

425438
@impl true
426-
def put(adapter_meta, key, value, ttl, on_write, opts) do
439+
defspan put(adapter_meta, key, value, ttl, on_write, opts) do
427440
cmd_opts = cmd_opts(action: on_write, ttl: fix_ttl(ttl))
428441
redis_k = encode(key)
429442
redis_v = encode(value, opts)
@@ -435,18 +448,20 @@ defmodule NebulexRedisAdapter do
435448
end
436449

437450
@impl true
438-
def put_all(%{mode: :standalone} = adapter_meta, entries, ttl, on_write, opts) do
439-
do_put_all(adapter_meta, nil, entries, fix_ttl(ttl), on_write, opts)
440-
end
441-
442-
def put_all(adapter_meta, entries, ttl, on_write, opts) do
451+
defspan put_all(adapter_meta, entries, ttl, on_write, opts) do
443452
ttl = fix_ttl(ttl)
444453

445-
entries
446-
|> group_keys_by_hash_slot(adapter_meta)
447-
|> Enum.reduce(:ok, fn {hash_slot, group}, acc ->
448-
acc && do_put_all(adapter_meta, hash_slot, group, ttl, on_write, opts)
449-
end)
454+
case adapter_meta.mode do
455+
:standalone ->
456+
do_put_all(adapter_meta, nil, entries, ttl, on_write, opts)
457+
458+
_ ->
459+
entries
460+
|> group_keys_by_hash_slot(adapter_meta)
461+
|> Enum.reduce(:ok, fn {hash_slot, group}, acc ->
462+
acc && do_put_all(adapter_meta, hash_slot, group, ttl, on_write, opts)
463+
end)
464+
end
450465
end
451466

452467
defp do_put_all(adapter_meta, hash_slot, entries, ttl, on_write, opts) do
@@ -479,27 +494,27 @@ defmodule NebulexRedisAdapter do
479494
end
480495

481496
@impl true
482-
def delete(adapter_meta, key, _opts) do
497+
defspan delete(adapter_meta, key, _opts) do
483498
_ = Command.exec!(adapter_meta, ["DEL", encode(key)], key)
484499
:ok
485500
end
486501

487502
@impl true
488-
def take(adapter_meta, key, _opts) do
503+
defspan take(adapter_meta, key, _opts) do
489504
redis_k = encode(key)
490505
with_pipeline(adapter_meta, key, [["GET", redis_k], ["DEL", redis_k]])
491506
end
492507

493508
@impl true
494-
def has_key?(adapter_meta, key) do
509+
defspan has_key?(adapter_meta, key) do
495510
case Command.exec!(adapter_meta, ["EXISTS", encode(key)], key) do
496511
1 -> true
497512
0 -> false
498513
end
499514
end
500515

501516
@impl true
502-
def ttl(adapter_meta, key) do
517+
defspan ttl(adapter_meta, key) do
503518
case Command.exec!(adapter_meta, ["TTL", encode(key)], key) do
504519
-1 -> :infinity
505520
-2 -> nil
@@ -508,7 +523,11 @@ defmodule NebulexRedisAdapter do
508523
end
509524

510525
@impl true
511-
def expire(adapter_meta, key, :infinity) do
526+
defspan expire(adapter_meta, key, ttl) do
527+
do_expire(adapter_meta, key, ttl)
528+
end
529+
530+
defp do_expire(adapter_meta, key, :infinity) do
512531
redis_k = encode(key)
513532

514533
case Command.pipeline!(adapter_meta, [["TTL", redis_k], ["PERSIST", redis_k]], key) do
@@ -517,31 +536,35 @@ defmodule NebulexRedisAdapter do
517536
end
518537
end
519538

520-
def expire(adapter_meta, key, ttl) do
539+
defp do_expire(adapter_meta, key, ttl) do
521540
case Command.exec!(adapter_meta, ["EXPIRE", encode(key), fix_ttl(ttl)], key) do
522541
1 -> true
523542
0 -> false
524543
end
525544
end
526545

527546
@impl true
528-
def touch(adapter_meta, key) do
547+
defspan touch(adapter_meta, key) do
529548
case Command.exec!(adapter_meta, ["TOUCH", encode(key)], key) do
530549
1 -> true
531550
0 -> false
532551
end
533552
end
534553

535554
@impl true
536-
def update_counter(adapter_meta, key, incr, :infinity, default, _opts) do
555+
defspan update_counter(adapter_meta, key, incr, ttl, default, _opts) do
556+
do_update_counter(adapter_meta, key, incr, ttl, default)
557+
end
558+
559+
defp do_update_counter(adapter_meta, key, incr, :infinity, default) do
537560
redis_k = encode(key)
538561

539562
adapter_meta
540563
|> maybe_incr_default(key, redis_k, default)
541564
|> Command.exec!(["INCRBY", redis_k, incr], key)
542565
end
543566

544-
def update_counter(adapter_meta, key, incr, ttl, default, _opts) do
567+
defp do_update_counter(adapter_meta, key, incr, ttl, default) do
545568
redis_k = encode(key)
546569

547570
adapter_meta
@@ -567,22 +590,26 @@ defmodule NebulexRedisAdapter do
567590
## Nebulex.Adapter.Queryable
568591

569592
@impl true
570-
def execute(%{mode: mode} = adapter_meta, :count_all, nil, _opts) do
593+
defspan execute(adapter_meta, operation, query, _opts) do
594+
do_execute(adapter_meta, operation, query)
595+
end
596+
597+
defp do_execute(%{mode: mode} = adapter_meta, :count_all, nil) do
571598
exec!(mode, [adapter_meta, ["DBSIZE"]], [0, &Kernel.+(&2, &1)])
572599
end
573600

574-
def execute(%{mode: mode} = adapter_meta, :delete_all, nil, _opts) do
601+
defp do_execute(%{mode: mode} = adapter_meta, :delete_all, nil) do
575602
size = exec!(mode, [adapter_meta, ["DBSIZE"]], [0, &Kernel.+(&2, &1)])
576603
_ = exec!(mode, [adapter_meta, ["FLUSHDB"]], [])
577604
size
578605
end
579606

580-
def execute(adapter_meta, :all, query, _opts) do
607+
defp do_execute(adapter_meta, :all, query) do
581608
execute_query(query, adapter_meta)
582609
end
583610

584611
@impl true
585-
def stream(adapter_meta, query, _opts) do
612+
defspan stream(adapter_meta, query, _opts) do
586613
Stream.resource(
587614
fn ->
588615
execute_query(query, adapter_meta)

mix.exs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ defmodule NebulexRedisAdapter.MixProject do
22
use Mix.Project
33

44
@source_url "https://github.com/cabol/nebulex_redis_adapter"
5-
@version "2.0.0"
6-
@nbx_vsn "2.0.0"
5+
@version "2.1.0"
6+
@nbx_vsn "2.1.0"
77

88
def project do
99
[
@@ -50,6 +50,7 @@ defmodule NebulexRedisAdapter.MixProject do
5050
{:redix, "~> 1.0"},
5151
{:crc, "~> 0.10", optional: true},
5252
{:jchash, "~> 0.1.2", optional: true},
53+
{:telemetry, "~> 0.4", optional: true},
5354

5455
# Test & Code Analysis
5556
{:excoveralls, "~> 0.13", only: :test},
@@ -77,7 +78,7 @@ defmodule NebulexRedisAdapter.MixProject do
7778
[
7879
"nbx.setup": [
7980
"cmd rm -rf nebulex",
80-
"cmd git clone --depth 1 --branch v2.0.0 https://github.com/cabol/nebulex"
81+
"cmd git clone --depth 1 --branch v#{@nbx_vsn} https://github.com/cabol/nebulex"
8182
],
8283
check: [
8384
"compile --warnings-as-errors",

mix.lock

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,31 @@
33
"benchee_html": {:hex, :benchee_html, "1.0.0", "5b4d24effebd060f466fb460ec06576e7b34a00fc26b234fe4f12c4f05c95947", [:mix], [{:benchee, ">= 0.99.0 and < 2.0.0", [hex: :benchee, repo: "hexpm", optional: false]}, {:benchee_json, "~> 1.0", [hex: :benchee_json, repo: "hexpm", optional: false]}], "hexpm", "5280af9aac432ff5ca4216d03e8a93f32209510e925b60e7f27c33796f69e699"},
44
"benchee_json": {:hex, :benchee_json, "1.0.0", "cc661f4454d5995c08fe10dd1f2f72f229c8f0fb1c96f6b327a8c8fc96a91fe5", [:mix], [{:benchee, ">= 0.99.0 and < 2.0.0", [hex: :benchee, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "da05d813f9123505f870344d68fb7c86a4f0f9074df7d7b7e2bb011a63ec231c"},
55
"bunt": {:hex, :bunt, "0.2.0", "951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], [], "hexpm", "7af5c7e09fe1d40f76c8e4f9dd2be7cebd83909f31fee7cd0e9eadc567da8353"},
6-
"certifi": {:hex, :certifi, "2.5.3", "70bdd7e7188c804f3a30ee0e7c99655bc35d8ac41c23e12325f36ab449b70651", [:rebar3], [{:parse_trans, "~>3.3", [hex: :parse_trans, repo: "hexpm", optional: false]}], "hexpm", "ed516acb3929b101208a9d700062d520f3953da3b6b918d866106ffa980e1c10"},
6+
"certifi": {:hex, :certifi, "2.6.1", "dbab8e5e155a0763eea978c913ca280a6b544bfa115633fa20249c3d396d9493", [:rebar3], [], "hexpm", "524c97b4991b3849dd5c17a631223896272c6b0af446778ba4675a1dff53bb7e"},
77
"crc": {:hex, :crc, "0.10.1", "87a0478e5a930926f1062397c9eb32d981f6b3abbc352d6d6fecf45a1725b249", [:mix, :rebar3], [{:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "ed3a9a673d4726fd12d6f58811f014e33cb3926b28f9639b12456ccb241d0f9b"},
88
"credo": {:hex, :credo, "1.5.5", "e8f422026f553bc3bebb81c8e8bf1932f498ca03339856c7fec63d3faac8424b", [:mix], [{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "dd8623ab7091956a855dc9f3062486add9c52d310dfd62748779c4315d8247de"},
99
"deep_merge": {:hex, :deep_merge, "1.0.0", "b4aa1a0d1acac393bdf38b2291af38cb1d4a52806cf7a4906f718e1feb5ee961", [:mix], [], "hexpm", "ce708e5f094b9cd4e8f2be4f00d2f4250c4095be93f8cd6d018c753894885430"},
1010
"dialyxir": {:hex, :dialyxir, "1.1.0", "c5aab0d6e71e5522e77beff7ba9e08f8e02bad90dfbeffae60eaf0cb47e29488", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "07ea8e49c45f15264ebe6d5b93799d4dd56a44036cf42d0ad9c960bc266c0b9a"},
11-
"earmark_parser": {:hex, :earmark_parser, "1.4.12", "b245e875ec0a311a342320da0551da407d9d2b65d98f7a9597ae078615af3449", [:mix], [], "hexpm", "711e2cc4d64abb7d566d43f54b78f7dc129308a63bc103fbd88550d2174b3160"},
11+
"earmark_parser": {:hex, :earmark_parser, "1.4.13", "0c98163e7d04a15feb62000e1a891489feb29f3d10cb57d4f845c405852bbef8", [:mix], [], "hexpm", "d602c26af3a0af43d2f2645613f65841657ad6efc9f0e361c3b6c06b578214ba"},
1212
"elixir_make": {:hex, :elixir_make, "0.6.2", "7dffacd77dec4c37b39af867cedaabb0b59f6a871f89722c25b28fcd4bd70530", [:mix], [], "hexpm", "03e49eadda22526a7e5279d53321d1cced6552f344ba4e03e619063de75348d9"},
1313
"erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"},
14-
"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"},
14+
"ex_doc": {:hex, :ex_doc, "0.24.2", "e4c26603830c1a2286dae45f4412a4d1980e1e89dc779fcd0181ed1d5a05c8d9", [:mix], [{:earmark_parser, "~> 1.4.0", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "e134e1d9e821b8d9e4244687fb2ace58d479b67b282de5158333b0d57c6fb7da"},
1515
"excoveralls": {:hex, :excoveralls, "0.14.0", "4b562d2acd87def01a3d1621e40037fdbf99f495ed3a8570dfcf1ab24e15f76d", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "94f17478b0cca020bcd85ce7eafea82d2856f7ed022be777734a2f864d36091a"},
1616
"file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"},
17-
"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"},
17+
"hackney": {:hex, :hackney, "1.17.4", "99da4674592504d3fb0cfef0db84c3ba02b4508bae2dff8c0108baa0d6e0977c", [:rebar3], [{:certifi, "~>2.6.1", [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.1", [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", "de16ff4996556c8548d512f4dbe22dd58a587bf3332e7fd362430a7ef3986b16"},
1818
"idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"},
1919
"jason": {:hex, :jason, "1.2.2", "ba43e3f2709fd1aa1dce90aaabfd039d000469c05c56f0b8e31978e03fa39052", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "18a228f5f0058ee183f29f9eae0805c6e59d61c3b006760668d8d18ff0d12179"},
2020
"jchash": {:hex, :jchash, "0.1.2", "c157534ad219fb5a92986e406c5763ef8da901785430c5853d5ec4de2874b3a0", [:rebar3], [], "hexpm", "3371d73e367e9aecf58bc2bfd8e022032c2b9dad2b715e799a9e33e4af1fef74"},
2121
"makeup": {:hex, :makeup, "1.0.5", "d5a830bc42c9800ce07dd97fa94669dfb93d3bf5fcf6ea7a0c67b2e0e4a7f26c", [:mix], [{:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cfa158c02d3f5c0c665d0af11512fed3fba0144cf1aadee0f2ce17747fba2ca9"},
2222
"makeup_elixir": {:hex, :makeup_elixir, "0.15.1", "b5888c880d17d1cc3e598f05cdb5b5a91b7b17ac4eaf5f297cb697663a1094dd", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.1", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "db68c173234b07ab2a07f645a5acdc117b9f99d69ebf521821d89690ae6c6ec8"},
23+
"makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"},
2324
"metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"},
2425
"mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"},
25-
"nebulex": {:hex, :nebulex, "2.0.0", "d33dc5a2b96ba09e5eb1c90e53dd1d036b0c006f1bb379bcc5c10acd0b140d6d", [:mix], [{:decorator, "~> 1.3", [hex: :decorator, repo: "hexpm", optional: true]}, {:shards, "~> 1.0", [hex: :shards, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "411c707e455408ae79ae7bfe7ada125967d016b83ff2a4e9763fd7cc2dd9372d"},
26+
"nebulex": {:hex, :nebulex, "2.1.0", "6ed3dc8e851366c59b1260c73d8c70bd694667f1da439bcd13c9eca2d20c74bb", [:mix], [{:decorator, "~> 1.4", [hex: :decorator, repo: "hexpm", optional: true]}, {:shards, "~> 1.0", [hex: :shards, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "d19ef2d7ee57350b1e88931d79c621e69b4ed52ba3351d53348cd4283a0fdb72"},
2627
"nimble_parsec": {:hex, :nimble_parsec, "1.1.0", "3a6fca1550363552e54c216debb6a9e95bd8d32348938e13de5eda962c0d7f89", [:mix], [], "hexpm", "08eb32d66b706e913ff748f11694b17981c0b04a33ef470e33e11b3d3ac8f54b"},
2728
"parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"},
28-
"redix": {:hex, :redix, "1.0.0", "4f310341744ffceab3031394450a4e603d4d1001a697c3f18ae57ae776cbd3fb", [:mix], [{:castore, "~> 0.1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "8c8d9b33b5491737adcd5bb9e0f43b85212a384ac0042f64c156113518266ecb"},
29+
"redix": {:hex, :redix, "1.1.0", "ba08c3a10cb4e6f63711b4fda5a4dcb27a919571d353ced65aa50ab3ac978efb", [:mix], [{:castore, "~> 0.1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c0f552af4140b213ca2d20897aac0e137a2d3a5da1d0cb73c54f0a6847c67dcb"},
2930
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"},
30-
"telemetry": {:hex, :telemetry, "0.4.2", "2808c992455e08d6177322f14d3bdb6b625fbcfd233a73505870d8738a2f4599", [:rebar3], [], "hexpm", "2d1419bd9dda6a206d7b5852179511722e2b18812310d304620c7bd92a13fcef"},
31+
"telemetry": {:hex, :telemetry, "0.4.3", "a06428a514bdbc63293cd9a6263aad00ddeb66f608163bdec7c8995784080818", [:rebar3], [], "hexpm", "eb72b8365ffda5bed68a620d1da88525e326cb82a75ee61354fc24b844768041"},
3132
"unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"},
3233
}

test/test_helper.exs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Start Telemetry
2+
Application.start(:telemetry)
3+
14
# Nebulex dependency path
25
nbx_dep_path = Mix.Project.deps_paths()[:nebulex]
36

0 commit comments

Comments
 (0)