Telemetrie → spannungsfreie Metriken

Am 12. Juli 2018 wurde das erste Commit des Projekts veröffentlicht :telemetry. Der Autor des Commits ist Arkady Gil , aber README behauptet, dass das Copyright © 2018 Chris McCord und Erlang Solutions gehört und das letzte Commit bis heute von Jose Valim gemacht wurde.


Großer Bruder beobachtet dich


Die Bibliothek wird wie folgt dargestellt:


Telemetry —  . , , .

, . , « », , . , , ; - . - .


:telemetry , , , . . : , , . - , , .




. , , , grep -r telemetry\.execute ./{lib,test}/**/*.ex* , . :telemetry, Telemetría. :


  • :telemetry ;
  • ;
  • ;
  • :telemetry_poller;
  • , ;
  • ;
  • ()


- , . , , - (, , ), — mix.exs, :telemetria, .


# mix.exs
def project do
  [
    ...
    # needed for autogeneration of events
    compilers: [:telemetria | Mix.compilers()]
  ]
end

def deps do
  [
    ...
    {:telemetria, "~> 0.5"}
  ]
end

, :otp_app.


config :telemetria,
  otp_app: :my_app,
  polling: [enabled: true]

, , :info.



Telemetría . :telemetry . deft/2, defpt/2, t/2 — , , :telemetry. ,  —  , , . @telemetria true deft/2 / defp/2. .



defmodule Geom do
  import Telemetria

  @spec circle_area(float()) :: float()
  deft circle_area(radius),
    do: 2 * 3.14 * radius
end

[:geom, :circle_area] Geom.circle_are/1:


iex|1> Geom.circle_area 2.0

14:59:49.686 [info] [event: [:geom, :circle_area],
  measurements: %{consumed: 3162, reference: "#Reference<0.12.34.56>",
  system_time: [system: 1590843589680306588,
                monotonic: -576460720784457,
                utc: ~U[2020-05-30 12:59:49.681885Z]]},
  metadata: %{context: [], env: #Macro.Env<aliases: [], context: nil, ...},
  config: #PID<0.314.0>]

#⇒ 12.56


defmodule Geom do
  use Telemetria

  @telemetria true 
  @spec circle_area(float()) :: float()
  def circle_area(radius),
    do: 2 * 3.14 * radius
end

, .



, Telemetría , mix.exs


def project do
  [
    ...
    compilers: [:telemetria | Mix.compilers()]
  ]
end

/ , , , Elixir.


JSON, config JSON . Telemetría JSON.



:


  • / ( );
  • / ;
  • , ; :telemetry;
  • JSON ( );
  • .

.



, , , - , .


, , , « ».


, , - , , .





!


All Articles