mirror of
https://github.com/wanderer-industries/wanderer
synced 2026-08-24 14:56:49 +00:00
chore: Added support for limited telemetry (base only).
This commit is contained in:
@@ -129,6 +129,8 @@ config :wanderer_app,
|
||||
admin_username: System.get_env("WANDERER_ADMIN_USERNAME", "admin"),
|
||||
admin_password: System.get_env("WANDERER_ADMIN_PASSWORD"),
|
||||
admins: admins,
|
||||
base_metrics_only:
|
||||
System.get_env("WANDERER_BASE_METRICS_ONLY", "false") |> String.to_existing_atom(),
|
||||
corp_id: System.get_env("WANDERER_CORP_ID", "-1") |> String.to_integer(),
|
||||
corp_wallet: System.get_env("WANDERER_CORP_WALLET", ""),
|
||||
corp_wallet_eve_id: System.get_env("WANDERER_CORP_WALLET_EVE_ID", "-1"),
|
||||
|
||||
@@ -263,7 +263,7 @@ defmodule WandererApp.Character do
|
||||
end
|
||||
end
|
||||
|
||||
defp maybe_merge_map_character_settings(%{id: character_id} = character, map_id, true) do
|
||||
defp maybe_merge_map_character_settings(%{id: character_id} = character, _map_id, true) do
|
||||
{:ok, tracking_paused} =
|
||||
WandererApp.Cache.lookup("character:#{character_id}:tracking_paused", false)
|
||||
|
||||
|
||||
+27
-26
@@ -11,49 +11,50 @@ defmodule WandererApp.Env do
|
||||
def vsn(), do: Application.spec(@app)[:vsn]
|
||||
|
||||
def git_sha(), do: get_key(:git_sha, "<GIT_SHA>")
|
||||
def base_url, do: get_key(:web_app_url, "<BASE_URL>")
|
||||
def custom_route_base_url, do: get_key(:custom_route_base_url, "<CUSTOM_ROUTE_BASE_URL>")
|
||||
def invites, do: get_key(:invites, false)
|
||||
def base_url(), do: get_key(:web_app_url, "<BASE_URL>")
|
||||
def base_metrics_only(), do: get_key(:base_metrics_only, false)
|
||||
def custom_route_base_url(), do: get_key(:custom_route_base_url, "<CUSTOM_ROUTE_BASE_URL>")
|
||||
def invites(), do: get_key(:invites, false)
|
||||
|
||||
def map_subscriptions_enabled?, do: get_key(:map_subscriptions_enabled, false)
|
||||
def websocket_events_enabled?, do: get_key(:websocket_events_enabled, false)
|
||||
def public_api_disabled?, do: get_key(:public_api_disabled, false)
|
||||
def map_subscriptions_enabled?(), do: get_key(:map_subscriptions_enabled, false)
|
||||
def websocket_events_enabled?(), do: get_key(:websocket_events_enabled, false)
|
||||
def public_api_disabled?(), do: get_key(:public_api_disabled, false)
|
||||
|
||||
@decorate cacheable(
|
||||
cache: WandererApp.Cache,
|
||||
key: "active_tracking_pool"
|
||||
)
|
||||
def active_tracking_pool, do: get_key(:active_tracking_pool, "default")
|
||||
def active_tracking_pool(), do: get_key(:active_tracking_pool, "default")
|
||||
|
||||
@decorate cacheable(
|
||||
cache: WandererApp.Cache,
|
||||
key: "tracking_pool_max_size"
|
||||
)
|
||||
def tracking_pool_max_size, do: get_key(:tracking_pool_max_size, 300)
|
||||
def character_tracking_pause_disabled?, do: get_key(:character_tracking_pause_disabled, true)
|
||||
def character_api_disabled?, do: get_key(:character_api_disabled, false)
|
||||
def wanderer_kills_service_enabled?, do: get_key(:wanderer_kills_service_enabled, false)
|
||||
def wallet_tracking_enabled?, do: get_key(:wallet_tracking_enabled, false)
|
||||
def admins, do: get_key(:admins, [])
|
||||
def admin_username, do: get_key(:admin_username)
|
||||
def admin_password, do: get_key(:admin_password)
|
||||
def corp_wallet, do: get_key(:corp_wallet, "")
|
||||
def corp_wallet_eve_id, do: get_key(:corp_wallet_eve_id, "-1")
|
||||
def corp_eve_id, do: get_key(:corp_id, -1)
|
||||
def subscription_settings, do: get_key(:subscription_settings)
|
||||
def tracking_pool_max_size(), do: get_key(:tracking_pool_max_size, 300)
|
||||
def character_tracking_pause_disabled?(), do: get_key(:character_tracking_pause_disabled, true)
|
||||
def character_api_disabled?(), do: get_key(:character_api_disabled, false)
|
||||
def wanderer_kills_service_enabled?(), do: get_key(:wanderer_kills_service_enabled, false)
|
||||
def wallet_tracking_enabled?(), do: get_key(:wallet_tracking_enabled, false)
|
||||
def admins(), do: get_key(:admins, [])
|
||||
def admin_username(), do: get_key(:admin_username)
|
||||
def admin_password(), do: get_key(:admin_password)
|
||||
def corp_wallet(), do: get_key(:corp_wallet, "")
|
||||
def corp_wallet_eve_id(), do: get_key(:corp_wallet_eve_id, "-1")
|
||||
def corp_eve_id(), do: get_key(:corp_id, -1)
|
||||
def subscription_settings(), do: get_key(:subscription_settings)
|
||||
|
||||
@decorate cacheable(
|
||||
cache: WandererApp.Cache,
|
||||
key: "restrict_maps_creation"
|
||||
)
|
||||
def restrict_maps_creation?, do: get_key(:restrict_maps_creation, false)
|
||||
def restrict_maps_creation?(), do: get_key(:restrict_maps_creation, false)
|
||||
|
||||
def sse_enabled? do
|
||||
def sse_enabled?() do
|
||||
Application.get_env(@app, :sse, [])
|
||||
|> Keyword.get(:enabled, false)
|
||||
end
|
||||
|
||||
def webhooks_enabled? do
|
||||
def webhooks_enabled?() do
|
||||
Application.get_env(@app, :external_events, [])
|
||||
|> Keyword.get(:webhooks_enabled, false)
|
||||
end
|
||||
@@ -62,19 +63,19 @@ defmodule WandererApp.Env do
|
||||
cache: WandererApp.Cache,
|
||||
key: "map-connection-auto-expire-hours"
|
||||
)
|
||||
def map_connection_auto_expire_hours, do: get_key(:map_connection_auto_expire_hours)
|
||||
def map_connection_auto_expire_hours(), do: get_key(:map_connection_auto_expire_hours)
|
||||
|
||||
@decorate cacheable(
|
||||
cache: WandererApp.Cache,
|
||||
key: "map-connection-auto-eol-hours"
|
||||
)
|
||||
def map_connection_auto_eol_hours, do: get_key(:map_connection_auto_eol_hours)
|
||||
def map_connection_auto_eol_hours(), do: get_key(:map_connection_auto_eol_hours)
|
||||
|
||||
@decorate cacheable(
|
||||
cache: WandererApp.Cache,
|
||||
key: "map-connection-eol-expire-timeout-mins"
|
||||
)
|
||||
def map_connection_eol_expire_timeout_mins,
|
||||
def map_connection_eol_expire_timeout_mins(),
|
||||
do: get_key(:map_connection_eol_expire_timeout_mins)
|
||||
|
||||
def get_key(key, default \\ nil), do: Application.get_env(@app, key, default)
|
||||
@@ -83,7 +84,7 @@ defmodule WandererApp.Env do
|
||||
A single map containing environment variables
|
||||
made available to react
|
||||
"""
|
||||
def to_client_env do
|
||||
def to_client_env() do
|
||||
%{detailedKillsDisabled: not wanderer_kills_service_enabled?()}
|
||||
end
|
||||
end
|
||||
|
||||
@@ -29,15 +29,24 @@ defmodule WandererApp.Metrics.PromExPlugin do
|
||||
|
||||
@impl true
|
||||
def event_metrics(_opts) do
|
||||
[
|
||||
base_metrics = [
|
||||
user_event_metrics(),
|
||||
character_event_metrics(),
|
||||
map_event_metrics(),
|
||||
map_subscription_metrics(),
|
||||
map_subscription_metrics()
|
||||
]
|
||||
|
||||
advanced_metrics = [
|
||||
character_event_metrics(),
|
||||
characters_distribution_event_metrics(),
|
||||
esi_event_metrics(),
|
||||
json_api_metrics()
|
||||
]
|
||||
|
||||
if WandererApp.Env.base_metrics_only() do
|
||||
base_metrics
|
||||
else
|
||||
base_metrics ++ advanced_metrics
|
||||
end
|
||||
end
|
||||
|
||||
defp user_event_metrics do
|
||||
@@ -227,8 +236,8 @@ defmodule WandererApp.Metrics.PromExPlugin do
|
||||
defp get_esi_error_tag_values(metadata) do
|
||||
%{
|
||||
endpoint: Map.get(metadata, :endpoint, "unknown"),
|
||||
error_type: to_string(Map.get(metadata, :error_type, "unknown")),
|
||||
tracking_pool: Map.get(metadata, :tracking_pool, "unknown")
|
||||
error_type: inspect(Map.get(metadata, :error_type, "unknown")),
|
||||
tracking_pool: Map.get(metadata, :tracking_pool, "default")
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user