506 Commits

Author SHA1 Message Date
ionutboangiu
0bf255c8fb add ConfigHook for external config modification
Add ConfigHook variable allowing external packages to modify config
after logger init but before services start.
2026-01-30 13:34:38 +01:00
ionutboangiu
cafa0a195e move cgr-engine logic to services package
Move main() implementation from cmd/cgr-engine to services/engine.go
to enable importing by external projects.
2026-01-30 13:34:38 +01:00
gezimbll
3153bc8378 remove loaders subsystem 2026-01-27 20:25:58 +01:00
gezimbll
e859be8806 added multiple listeners for diameter agent 2025-12-21 18:26:59 +01:00
ionutboangiu
eb372148d1 revise IPService implementation 2025-12-05 13:15:52 +01:00
ionutboangiu
f0b65f0797 cfg: make sessions jsoncfg object fields camelcase 2025-12-05 13:15:52 +01:00
ionutboangiu
8443af3a89 Relicense from GPLv3 to AGPLv3 2025-10-29 19:42:40 +01:00
ionutboangiu
4c30ec4e4c ees: remove init from libcdre, rename to failedposts 2025-10-28 20:31:36 +01:00
ionutboangiu
295ddec792 cfg: move failed_posts to ees, add static_ttl 2025-10-28 20:31:36 +01:00
arberkatellari
2385597155 Add route_profile option to switch agents in config 2025-06-25 19:11:15 +02:00
ionutboangiu
671c7474b8 send agent events to stats/thresholds w/ ProcessTime
applies only to template-based agents
2025-06-11 10:58:37 +02:00
ionutboangiu
43cdd396ba add implementation for new ips module 2025-05-29 15:40:20 +02:00
arberkatellari
6d206954bd add and revise action type tests 2025-05-27 17:27:46 +02:00
gezimbll
ccdf3ef1f1 added passing events from thresholds to ees 2025-05-26 14:43:43 +02:00
arberkatellari
534b788508 Add new action types *dynamic_threshold and *dynamic_stats 2025-05-03 21:44:14 +02:00
ionutboangiu
76f5d931bd add replication buffer support 2025-04-11 23:46:00 +03:00
arberkatellari
5463eb61c6 Adjust tests to InternalDB constructor 2025-04-11 13:09:50 +02:00
arberkatellari
ed584364d1 Add tests for internal DB dump and restore 2025-04-06 12:08:40 +02:00
ionutboangiu
934d93ef58 add PrometheusAgent implementation 2025-03-30 14:01:06 +02:00
arberkatellari
041b14fa03 Improvements to ERS SQL filters 2024-12-03 18:36:22 +01:00
arberkatellari
321910d181 Add WHERE statement availability and non-delete option to ERS SQL reader 2024-12-03 18:36:22 +01:00
ionutboangiu
204601a70f Consider DNS requests when limiting caps 2024-12-01 20:28:56 +01:00
ionutboangiu
3a6d759bac Consider radius requests when limiting caps 2024-11-14 17:56:42 +01:00
gezimbll
fc6aff8484 added trends and rankings methods in dispatchers 2024-11-14 17:52:31 +01:00
gezimbll
b8616282ee added integration tests for ranking scheduling 2024-10-30 22:14:03 +01:00
ionutboangiu
7df0494913 Consider diameter requests when limiting caps
- add possibility to pass custom Error-Message AVP to negative diameter
  answers
- negative answer is now built only when an error occurs
- remove tests that were testing behaviour with max concurrent requests 0
2024-10-29 18:53:22 +01:00
armirveliaj
1a38e51a5d Add new API: RankingSv1.GetRankingSummary 2024-10-23 20:25:07 +02:00
DanB
4d7cb6c88a Basic RankingS implementation 2024-10-16 18:44:57 +02:00
ionutboangiu
dd95a2837a Revise registrarc integration test 2024-10-16 18:43:34 +02:00
ionutboangiu
4ec26a4996 Move test cgr-engine helpers to engine package 2024-10-16 12:24:54 +02:00
armirveliaj
4bf49be2be Add new unit tests on TrendS 2024-10-14 16:04:06 +02:00
gezimbll
69f4f08770 added integration tests for trend event to thresholds,EEs && fixes 2024-10-14 16:01:32 +02:00
ionutboangiu
6bc162cbc1 Register Ping method for ERs 2024-10-08 20:53:36 +02:00
gezimbll
e518e7b913 Integration test for scheduleAutomaticQueries && api for scheduled trends 2024-10-08 20:49:13 +02:00
DanB
86ed9e932b Alpha code for TrendS 2024-10-05 20:30:22 +02:00
DanB
bb6f9ca5ae TrendS scheduleAutomaticQueries function 2024-10-03 18:41:11 +02:00
DanB
28eb68241c Small trend customisations 2024-10-02 21:28:59 +02:00
gezimbll
b134df83b7 added it tests and new APIs for TrendS 2024-10-01 20:05:29 +02:00
DanB
569ddd1956 Basic structure of TrendS using cron as scheduler 2024-09-09 20:53:51 +02:00
ionutboangiu
6e971e954c chore: remove unused call & redundant ping methods
- Ping methods defined by engine.NewService for all services
- Call methods were previously replaced by the centralized call method
(on *birpc.Service) for all components
- All services now register V1/V2 objects from apier package for
consistency
2024-09-06 17:37:05 +02:00
gezimblliku
b1218c4ae3 added service for trends 2024-08-16 12:32:21 +02:00
gezimblliku
5b75bacff7 added trend with get,set and remove methods in datamanager 2024-08-14 14:03:21 +02:00
armirveliaj
e2f03ef892 Add new unit tests 2024-08-12 18:37:15 +02:00
ionutboangiu
73fc386036 Add stordb pgSSLCertMode option 2024-08-12 18:36:45 +02:00
armirveliaj
0d78fb878c Add coverage tests on agents and services 2024-08-09 09:18:46 +02:00
ionutboangiu
d0183597f1 Add postgres stor_db SSL opts 2024-08-09 09:13:10 +02:00
armirveliaj
ea149965ae Add new unit tests on services 2024-08-06 23:05:46 +02:00
gezimblliku
22b96ca1e3 added tests for filter statmetric 2024-08-04 21:10:50 +02:00
ionutboangiu
218ad92635 Ensure reference fileCPU is not overwritten
Would previously happen if memory profiling was already started.
Now using os.File.Stat beforehand to check if a handler of the file
is already active and confirm the status of profiling. This required
changing the type of the reference fileCPU from io.Closer to *os.File.
Asserting the type would have worked as well.
2024-08-02 09:35:36 +02:00
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