Alexander A. Klimov
70df0e298e
CONTEXT: reduce malloc()s by replacing linked list with vector
2022-11-30 10:56:24 +01:00
Alexander A. Klimov
7c481742f4
icinga2 daemon: w/o --dump-objects just check for circular refs
...
and don't malloc() anything.
2022-11-30 10:45:50 +01:00
Alexander A. Klimov
e53ec2a50f
SerializeInternal(): allow to optionally not malloc() anything
...
This effectively just checks for circular refs.
2022-11-30 10:45:50 +01:00
Julian Brost
f59f361f09
Merge pull request #9508 from Icinga/bugfix/fix-data-race-in-apply-rule
...
Fix data race in `ApplyRule` class
2022-11-29 14:18:09 +01:00
Alexander A. Klimov
145ee890df
Just get paths from existing objects for modification and deletion
...
instead of computing from scratch if they're in the _api package.
For now this changes literally nothing as paths of existing objects still follow
the scheme of paths of new objects which didn't change. Now Icinga only doesn't expect
existing objects at particular paths. However, with the latter in v2.14+ (agent,
satellite) we can just change the path scheme of new objects in v2.16+ (master)
as we wish. The child nodes will just follow the new scheme of paths of new objects.
2022-11-28 16:39:16 +01:00
Yonas Habteab
c1f73fbc1d
FilterUtility: Replace some nested raw pointers by our `unique_ptr<X>*`
2022-11-28 14:50:54 +01:00
Yonas Habteab
834709543a
ApplyRule: Make `m_HasMatches` atomic
...
This prevents the `m_HasMatches` property from being altered simultaneously.
This might seem harmless (since this property can only be set to true by any calling thread),
however, from a technical (C++) point of view, this constitutes a data race.
2022-11-28 14:13:58 +01:00
Alexander A. Klimov
eaa3cd83ad
Influx DB: don't unneccessarily truncate timestamps to whole seconds
...
Instead send timestamps with the highest possible precision (ns).
Useful for check intervals <1s.
2022-11-28 12:27:01 +01:00
Julian Brost
ae32b3cbbd
Merge pull request #9586 from Icinga/9363
...
icinga2 daemon: write icinga2.debug only if --dump-objects given
2022-11-24 16:03:42 +01:00
Julian Brost
63199057d2
Merge pull request #9584 from Icinga/probot/sync-changelog/master/ea6cbb85afc20e5846eabcd17a93267ec4599aa9
...
CHANGELOG.md: add v2.13.6
2022-11-24 14:06:16 +01:00
Alexander A. Klimov
f71612d8f3
icinga2 object list: warn on possibly outdated config
2022-11-24 10:50:17 +01:00
Alexander Aleksandrovič Klimov
f855cfa155
Merge pull request #9593 from theFeu/patch-1
...
Change apt-get to apt
2022-11-23 14:59:46 +01:00
Alexander A. Klimov
0767c6ef87
icinga2 daemon -C: write icinga2.debug only if --dump-objects given
...
to save config (re)load time.
2022-11-23 12:54:33 +01:00
Julian Brost
dd99a5ace9
Merge pull request #9577 from Icinga/ConfigItem-CommitNewItems
...
ConfigItem::CommitNewItems(): allow fast search of pending items by type
2022-11-23 12:34:51 +01:00
Feu Mourek
76edd00ec2
Change apt-get to apt
2022-11-23 11:09:36 +01:00
Alexander A. Klimov
ae693cb7e1
ConfigItem::CommitNewItems(): allow fast search of pending items by type
2022-11-21 15:07:39 +01:00
Alexander A. Klimov
33e609d791
Type#GetLoadDependencies(): avoid malloc()
...
- cache result
- return it by const ref
- do Type::GetByName() for the callers
2022-11-21 15:07:39 +01:00
Alexander A. Klimov
d6ad137aac
Doc: Troubleshooting: Optimise apply rules and group assign conditions
2022-11-17 11:53:28 +01:00
Julian Brost
a958a735d7
Merge pull request #9555 from Icinga/ApplyRule-GetDebugInfo
...
ApplyRule#GetDebugInfo(): return by const ref to avoid malloc()
2022-11-16 13:35:04 +01:00
Julian Brost
e713eb5c1c
Merge pull request #9572 from Icinga/ApplyRule-getters
...
ApplyRule#GetF*Var(): return by const ref
2022-11-16 13:00:59 +01:00
Julian Brost
18ab672565
CHANGELOG.md: add v2.13.6
2022-11-16 11:51:21 +00:00
Julian Brost
ea6cbb85af
Merge pull request #9570 from Icinga/jemalloc-doc
...
Recommend to try libjemalloc to speed up reload
2022-11-16 12:51:05 +01:00
Alexander A. Klimov
0230883a51
Recommend to try libjemalloc to speed up reload
2022-11-16 12:36:31 +01:00
Alexander A. Klimov
e97a5d59e0
ApplyRule#GetFVVar(): return by const ref
...
to avoid malloc().
2022-11-08 12:48:13 +01:00
Alexander A. Klimov
738662338f
ApplyRule#GetFKVar(): return by const ref
...
to avoid malloc().
2022-11-08 12:45:21 +01:00
Julian Brost
a6b05059ab
Merge pull request #9566 from Icinga/bugfix/openssl-1.1.1s
...
Windows: update bundled OpenSSL to version 1.1.1s
2022-11-07 13:38:27 +01:00
Julian Brost
98902b2ff0
Merge pull request #9545 from Icinga/targeted-apply-rules
...
Separately handle apply rules targetting only specific parent objects
2022-11-04 14:06:15 +01:00
Julian Brost
c501229f84
Windows: update bundled OpenSSL to version 1.1.1s
2022-11-04 13:35:38 +01:00
Yonas Habteab
a8d46e6d47
Use service short name for evaluating targeted service rules
2022-11-04 10:19:26 +01:00
Yonas Habteab
2610fb1285
Avoid evaluating the same filter twice for the same target
2022-11-04 10:15:22 +01:00
Alexander A. Klimov
27a559c5fe
ApplyRule#GetDebugInfo(): return by const ref to avoid malloc()
2022-10-28 15:33:44 +02:00
Alexander A. Klimov
a698b9c3da
ApplyRule::RuleMap: reduce complexity, save unnecessary lookups
2022-10-28 14:27:53 +02:00
Alexander A. Klimov
a907c2ac9a
Targeted apply rules: don't unnecessarily eval filter
2022-10-28 14:27:53 +02:00
Alexander A. Klimov
dacd6a206d
VariableExpression#GetVariable(): return by const ref not to unnecessarily malloc()
2022-10-28 14:27:53 +02:00
Alexander A. Klimov
038a5e8ef6
Unify storages of regular/targeted apply rules: std::vector<ApplyRule::Ptr>
2022-10-28 14:27:53 +02:00
Alexander A. Klimov
a56ad38ad3
Separately handle apply rules targetting only specific parent objects
...
not to unnecessarily run e.g. the filter assign where host.name=="example.com"
for all hosts being not example.com.
2022-10-28 14:27:53 +02:00
Julian Brost
08324f8f20
Merge pull request #9549 from Icinga/boost180
...
Bump Boost v1.79 -> v1.80
2022-10-26 16:44:37 +02:00
Alexander A. Klimov
24b24da8e9
Bump Boost v1.79 -> v1.80
2022-10-26 11:43:32 +02:00
Alexander Aleksandrovič Klimov
c0fd00c337
Merge pull request #9548 from Icinga/Al2Klimov-patch-3
...
Fix wrong operator precedence in documentation
2022-10-25 18:07:30 +02:00
Alexander Aleksandrovič Klimov
247e41309a
Fix wrong operator precedence in documentation
...
<1> => (1 || 0) && 0
0.000000
<2> => 1 || (0 && 0)
1.000000
<3> => 1 || 0 && 0
1.000000
<4> =>
2022-10-25 12:01:01 +02:00
Alexander A. Klimov
fd7ac4e5ca
Allow hashmaps of String
2022-10-21 10:28:41 +02:00
Alexander A. Klimov
449a3c14cf
Allow intrusive pointers to ApplyRule
2022-10-21 10:28:41 +02:00
Julian Brost
987bb22397
Merge pull request #9543 from Icinga/apply-rules-lookup
...
Lookup apply rules faster by Type*, not String and by map instead of ==/!=
2022-10-21 09:53:35 +02:00
Alexander A. Klimov
c7d656716f
Remove unused ApplyRule#m_TargetType
2022-10-19 13:43:51 +02:00
Alexander A. Klimov
d468d7993c
Lookup apply rules faster by Type*, not String and by map instead of ==/!=
...
1. The lookup of apply rules per source type now implies
no String(const char*) (no malloc()) and just pointer (uint64) comparisions
2. Apply rules are now also grouped by target type via a nested map, that obsoletes
checking the target type while iterating over all rules per source type
2022-10-19 13:43:51 +02:00
Alexander A. Klimov
90fe4e5bea
ApplyRule::GetTargetTypes(): return by const ref not to malloc()
2022-10-19 13:43:51 +02:00
Julian Brost
f2563cc890
Merge pull request #9542 from Icinga/context-evaluating-apply-rules-for-host
...
Construct string once, not unnecessarily N times
2022-10-17 19:57:09 +02:00
Alexander A. Klimov
ce1a122618
Construct string once, not unnecessarily N times
2022-10-17 15:54:02 +02:00
Julian Brost
dd7009dc63
Merge pull request #9406 from Icinga/bugfix/handle-ignore-on-error-uses-cases-properly
...
ConfigItem: Fix infinite recursion caused by `ignore_on_error` when …
2022-10-13 09:56:43 +02:00
Yonas Habteab
400117e2f6
ConfigItem: Don't add items to the new items vector before committing
...
This also improves the performance a bit, as we longer have to iterate over the items
and copy them into the new items vector.
2022-10-12 13:27:41 +02:00