ionutboangiu 1c490a9020 Revise memory profiling implementation
- merge StopChanMemProf with StopMemoryProfiling
- remove fileMEM and stopMemProf from struct and constructors
- add separate mutex for memory profiling, ensure thread safety
- handle all significant errors
- log error if StopMemoryProfiling fails during CoreS Shutdown
- ignore errors if profiling inactive in Shutdown and deferred Stop
- move validations inside V1 functions
- return error if StartMemoryProfiling already started
- return error if StopMemoryProfiling already stopped or never started
- close profiling loop on error, not the cgr-engine
- StopMemoryProfiling closes channel and profiling loop writes final profile
- rename Path to DirPath for mandatory field error
- rename memprof_nrfiles flag to memprof_maxfiles
- increase default memprof_interval
- consider MaxFiles <= 0 as unlimited
- move memory profiling logic after starting services
- use CoreService Start/StopMemoryProfiling in main
- remove final memory profile block (created by deferred Stop)
- convert MemProfiling to method on CoreService and rename to profileMemory
- use Ticker for recurrent actions instead of Timer
- compute mem_final.prof full path in StartMemoryProfiling
- suffix profile files with current time instead of numbers
- update dispatcher methods after changes
- move MemoryPrf from utils to cores, rename to MemoryProfilingParams
- add logs for starting/stopping profiling
2024-08-02 09:35:36 +02:00
2024-07-14 14:07:21 +02:00
2024-06-11 18:49:39 +02:00
2024-07-05 11:20:09 +02:00
2024-04-08 13:14:02 +02:00
2023-09-26 21:33:40 +02:00
2020-06-24 16:28:50 +03:00
2019-06-12 22:11:43 +02:00
2014-10-14 12:12:51 +02:00
2024-05-09 12:07:53 +02:00
2024-07-05 11:20:09 +02:00
2012-02-25 14:27:06 +02:00
2024-05-13 13:14:37 +02:00
2023-09-26 21:33:40 +02:00
2019-09-04 16:22:08 +02:00

Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments

Build Status Documentation Status GoDoc

Features

  • Real-time Online/Offline Charging System (OCS).
  • Account Balances Management with bundle support.
  • Session or Event charging with reservation.
  • Rating engine.
  • CDR logging with support for Interim Records.
  • QoS LCR and LCR over Bundles.
  • Fraud detection with automatic mitigation.
  • Call Statistics with pattern monitoring.
  • Performance oriented.
  • Modular architecture.
  • Test driven development.
  • Plug-able/non-intrusive into existing setups.
  • Cloud-ready, built on independent micro-services with rich set of RPC APIs.
  • Agile in developing new features.
  • Very fast (5000+ req/sec on a single machine)
  • Good documentation.
  • Commercial support available

Documentation

Step by steps tutorials

Debian apt-get repository

Installing CGRateS from sources on minimal debian (for devel or testing)

Browsable HTML docs http://readthedocs.org/docs/cgrates/

PDF, Epub, Manpage http://readthedocs.org/projects/cgrates/downloads/

API reference godoc

Description
No description provided
Readme 110 MiB
Languages
Go 99%
Shell 0.7%
Jinja 0.1%
Python 0.1%