Files
cgrates/docs/cgr-engine.rst
ionutboangiu 958aa267cf Refactor HTTP profiling and flag handling
- hardcode the base path for profiling endpoints to '/debug/pprof/'
- change profiling flag 'httprof_path' to boolean 'http_pprof'
  (because of the above)
- remove redundant profiling endpoint registrations (handled by pprof.Index)
- move profiling registration log after actual registration
- make profiling registration log more descriptive
- use utils.Logger instead of log.Print for the log mentioned above
- refactor flags test into a table test (adding also verification for default
  flag values)
- change 'scheduledShutdown' flag type from string to time.Duration (to avoid
  unnecessary time parsing)
- revise flags usage descriptions
- rename flag 'singlecpu' to 'singleCPU'
- switch to 'ExitOnError' for flag parsing to simplify error handling and
  automatically handle 'ErrHelp' by exiting with status 0 when help is
  requested and status 2 for other parsing errors. Before the following error
  log would have been received:
  '<InitS> error received: <flag: help requested>, exiting!'
- update cgr-engine documentation
2024-08-02 09:35:36 +02:00

86 lines
1.9 KiB
ReStructuredText

.. _cgr-engine:
cgr-engine
==========
Groups most of functionality from services and components.
Customisable through the use of *json* :ref:`JSON configuration <configuration>` or command line arguments (higher prio).
Able to read the configuration from either a local directory of *.json* files with an unlimited number of subfolders (ordered alphabetically) or a list of http paths (separated by ";").
::
$ cgr-engine -help
Usage of cgr-engine:
-config_path string
Configuration directory path (default "/etc/cgrates/")
-cpuprof_dir string
Directory for CPU profiles
-http_pprof
Enable HTTP pprof profiling
-log_level int
Log level (0=emergency to 7=debug) (default -1)
-logger string
Logger type <*syslog|*stdout>
-memprof_dir string
Directory for memory profiles
-memprof_interval duration
Interval between memory profile saves (default 5s)
-memprof_nrfiles int
Number of memory profiles to keep (most recent) (default 1)
-node_id string
Node ID of the engine
-pid string
Path to write the PID file
-preload string
Loader IDs used to load data before engine starts
-print_config
Print configuration object in JSON format
-scheduled_shutdown duration
Shutdown the engine after the specified duration
-singlecpu
Run on a single CPU core
-version
Print application version and exit
.. hint:: $ cgr-engine -config_path=/etc/cgrates
.. figure:: images/CGRateSInternalArchitecture.png
:alt: CGRateS Internal Architecture
:align: Center
:scale: 75 %
Internal Architecture of **cgr-engine**
The components from the diagram can be found documented in the links bellow:
.. toctree::
:maxdepth: 1
agents
sessions
rals
cdrs
ees
attributes
chargers
resources
routes
stats
thresholds
filters
dispatchers
schedulers
apiers
loaders
caches
datadb
stordb