View Source API Reference antikythera v0.5.1
Modules
Definition of macro to make mapping of asset URLs from their file paths.
Antikythera's "async job" functionality allows gears to run their code in background.
This module provides functions to generate a signed URL for CloudFront
Utilities involving Code
module, used for metaprogramming.
Definition of Antikythera.Conn
struct, which represents a client-server connection.
Definition of Antikythera.Context
struct which represents a context for an execution of gear code.
Helper module to bulk-import many controller-related modules.
Macro definition for plug DSL.
A type module to represent a wildcard subdomain in a form which is acceptable by cowboy.
Calculate time schedules based on cron format strings.
Easy to use data encryption/decryption utilities.
Domain name format, originally defined in RFC1034.
Utility functions to work with enumerables.
Module to provide helpers to access environment variables defined by antikythera.
Type module for error that describes what went wrong during a process execution.
This module converts structures to JSON at low load by avoiding protocol calls. Internally Jason is used.
Type of timeout for gear actions in milliseconds.
A value must be a positive integer less than or equal to 180000
.
The maximum value can be configured by :gear_action_max_timeout
config.
The default value is determined by Antikythera.Env.gear_action_timeout/0
,
or the maximum value if it exceeds the maximum value.
Template for gear application module.
Helper module to define interface module for alerting.
Helper module to define getter functions of gear configs.
Helper module for gear's custom error handler.
Helper module to define each gear's G2g
module that contains interface for gear-to-gear communication.
Helper module to define each gear's Logger
module.
Helper module to define interface module to submit custom metrics data.
Type module to represent gear names as atoms.
A thin wrapper around Gettext.__using__/1
to forward error logs to each gear's logger.
HTTP headers as a map.
HTTP client library.
Just wrapping Httpc
without any modification.
Can be mocked with :meck.expect(Httpc.Mockable, :request, ...)
without interfering other Httpc action.
Type for Antikythera.Httpc
's request body.
A struct to represent an HTTP response.
An IMF-fixdate format of date/time. Used in HTTP headers. Only 'GMT' is allowed as timezone string.
Functions to parse/compare IP addresses.
A strict subset of ISO8601 format of timestamp.
ISO8601 basic format.
Utilities to manipulate Elixir AST.
Utility functions to work with maps.
Easy-to-use in-memory cache for each executor pool.
A type module of keys for Antikythera.Memcache
.
A type module of values for Antikythera.Memcache
.
Helper functions for making mix tasks in gears.
Utility functions to work with nested maps.
A type module to represent URI-encoded segment of URL path.
Plug to restrict access to controller action by basic authentication.
Plug to decompress the request body when the request has Content-Encoding
header.
Plug to automatically load flash messages from session.
Plug to restrict access to controller action only from within specified IP ranges.
Plug to set a fixed value of cache-control
response header in order to disable client side caching.
Plug to automatically load/store session information using a specific session store. Uses cookie store by default.
A global (cluster-wide) process registry for implementing publisher-subscriber communication pattern.
A global (cluster-wide) process registry to implement 1-to-1 process communications.
Definition of Antikythera.Request
struct.
Defines the antikythera routing DSL.
Internal functions to implement request routing.
Internal helper functions for macros in Antikythera.Router
, to generate/implement reverse routing functions.
Definition of data structure to work with session.
Implementation of Antikythera.Session.Store
that stores session info in cookie.
Behaviour of session store.
Definition of macro to precompile HAML templates.
Utils for calculating the actual size of terms.
Helpers for tests that target async jobs.
Helpers to be used in each gear's test/test_helper.exs
.
Helper functions to construct Antikythera.Conn
object, to be used within tests.
Helper functions to set gear configs from within gears' test code.
Helpers to work with gear logs within tests.
Helper functions to be used within tests for GenServer
s.
Helper functions to work with processes in test code.
Websocket client for gear tests.
Data structure to represent date and time in milli-seconds resolution.
A thin wrapper around Foretoken
to avoid collisions between bucket names by prefixing executor pool IDs.
Format of versions of antikythera instances and gears.
Functions to convert numeric values into human-readable strings.
Behaviour module for websocket handlers.
Simplified data type for websocket frames.
Convenient XML parser module wrapping fast_xml.
:gen_event
callback module that reports number of errors to AntikytheraCore.ErrorCountsAccumulator
process.
Behaviour module for alert handlers.
Alert handler implementation that sends an email.
Type module for map of configurations for a single alert handler.
Type module for map of all alert configurations for a single OTP application (antikythera or a gear).
Backend handler for Logger
, which notifies AntikytheraCore.Alert.Manager
of error events.
An event manager hosting multiple AntikytheraCore.Alert.Handler
s.
A queue-like data structure, replicated using RaftedValue
, to store AntikytheraCore.AsyncJob
structs.
ID of instance that is visible to gear developers.
A GenServer
that periodically fetches current members of the cluster (all existing hostnames and their lifecycle states)
from underlying infrastructure.
A GenServer
that tries to keep connections to other known nodes.
Utility functions to handle secret key which is used to encrypt/decrypt config files.
Periodically polls antikythera's config file and apply changes to the cache (in ETS table).
Translator for Logger
, installed via application config.
A GenServer
to hold number of errors reported to each OTP application's alert manager process (implemented by AntikytheraCore.Alert.Manager
).
A GenServer
(whose lifecycle is managed by PoolSup.Multi
) that executes gears' controller actions.
A broker that finds a pair of "a runnable job in job queue" and "an available AsyncJobRunner
process in worker pool".
A GenServer
for logging, which is used in AntikytheraCore.ExecutorPool.AsyncJobRunner
.
A GenServer
to manage memcache for each executor pool.
A GenServer
to periodically send command to the leader process of the corresponding async job queue.
A GenServer
that periodically fetches usage of executor pool and submits it.
A GenServer
to count number of websocket connections that belong to the executor pool.
Periodically polls changes in gear configs.
Periodically polls gears' executor pool settings and apply changes.
Helpers to get/set context ID.
A Module to write and rotate a log file using AntikytheraCore.GearLog.FileHandle
.
A GenServer
to keep track of names of currently running gears.
A much simplified version of Task
module defined in the elixir standard library.
Defines (1) a behaviour to compute metrics results from raw metrics data and (2) some implementations of the behaviour. "Raw metrics data" is values reported from other components (e.g. response time values). "Metrics results" are values that summarize characteristics of "raw metrics data" (e.g. average response time).
Aggregate strategy that calculates the average value of incoming raw metrics data.
Aggregate strategy that simply takes the last value within each time window.
Aggregate strategy for request counts. This calculates the following values from HTTP status codes of responses within a time window
Aggregate strategy that computes the sum of all values generated within each time window.
Aggregate strategy for time distribution (such as response times). This calculates the following values from time durations generated within a time window
A bin-like data structure to hold per-minute, per-epool metrics data.
Data structure to represent metrics results computed from raw metrics data. Results are map of metrics data by minute-epool.
A GenServer
which buffers metrics data and periodically flushes the aggregated results to stable storage.
A GenServer that periodically removes extra nodes from mnesia schema.
A GenServer
that logs periodically
Generates a .appup file for the given application, start version, and upgrade version.
A GenServer
which periodically removes already unused artifact files for running gears.
Manages progress of startup procedure of antikythera.
A GenServer
that periodically submit metrics about the ErlangVM.
This is an implementation of EEx.Engine
that auto-escape dynamic parts within HAML templates.
A GenServer
that caches tenant settings and apply changes to tenant executor pools.
A GenServer that periodically checks the status of Node.self/0
.
A GenServer that keeps track of user pids of temporary directories.
Functions to get information from "history" files.
A GenServer
which periodically polls deployable versions of antikythera instance and gears.
A GenServer
to serialize tasks to "upgrade of antikythera instance" and "installation or upgrade of gears".
Environment abstraction layer: pluggable interfaces defined in antikythera.
Interface to email delivery backend for core/gear alerts.
Interface to work with storage of asset files.
Interface for cluster membership.
Interface to work with storage of gear log files.
Interface to storage for metrics data.
Mix Tasks
Generates a mix project for a new gear application.
Prepares static assets for your gear.
Deletes obsolete asset files in asset storage.
Generates an appup file using the previous version located at the specified directory.
Generates a new release tarball for antikythera instance using mix release
.
Uploads assets to asset storage so that they can be delivered via CDN.
Runs tests to ensure that antikythera's upgrade doesn't break backward-compatibility.
Ensures only gear applications are specifed in gear_deps/0
.
Statically checks issues in gear's source code.
Touches source files that need to be recompiled.