Commit Graph

596 Commits

Author SHA1 Message Date
Gunnar Beutner f30517a9e2 Build fix. 2014-03-12 13:19:06 +01:00
Gunnar Beutner f3c085df44 Call Process callbacks asynchronously.
Refs #5748
2014-03-12 11:06:17 +01:00
Gunnar Beutner f391a32487 Decrease the maximum number of threads allowed per ThreadPool.
Refs #5748
2014-03-12 10:52:07 +01:00
Gunnar Beutner bfc5d2a4be Use fewer threads for plugin-based checks.
Fixes #5748
2014-03-12 10:25:06 +01:00
Gunnar Beutner e693486dae Fix file descriptor leak in StackTracce::Addr2Line.
Fixes #5735
2014-03-10 13:38:36 +01:00
Michael Friedrich 14d8f8a12e Documentation: Add Domains.
Fixes #5288
2014-03-07 15:21:57 +01:00
Gunnar Beutner f8a2ddc464 Include source file name and line numbers in stack traces.
Fixes #5715
2014-03-06 10:59:13 +01:00
Michael Friedrich f890a7ae8c Refactor status/perfdata stats registry.
Fixes #5622
2014-02-20 15:25:58 +01:00
Michael Friedrich 84be5e3413 Implement StatsFunction Registry for features.
Refs #5622
2014-02-17 17:53:41 +01:00
Gunnar Beutner 8055eaa8b8 Revert "Set stack size rlimit."
This reverts commit 36c0af7a85.
2014-02-14 12:28:21 +01:00
Gunnar Beutner 36c0af7a85 Set stack size rlimit.
Fixes #5659
2014-02-14 10:44:28 +01:00
Gunnar Beutner b968850bc1 Make Visual Studio 2010 happy (maybe).
Fixes #5637
2014-02-12 10:16:52 +01:00
Michael Friedrich e534f9bc1b Add Cluster Health Check.
Fixes #5438
2014-02-07 15:19:37 +01:00
Michael Friedrich 7d9dc1a36b Fix including a non-existing directory exception requires path information.
Fixes #5618
2014-02-07 13:23:26 +01:00
Michael Friedrich 1e0a11c7f2 Add IcingaNodeName script variable, set as check source (WIP).
Fixes #5471
Fixes #5473
2014-02-06 15:38:06 +01:00
Gunnar Beutner 984ffb7421 Fix memory leak in Utility::GlobRecursive.
Fixes #5604
2014-02-05 13:53:56 +01:00
Gunnar Beutner 238d90401c Implement an option to disable use of vfork().
Fixes #5583
2014-01-31 08:44:00 +01:00
Gunnar Beutner e0596f2d33 Fix UNIX sockets on FreeBSD.
Fixes #5567
2014-01-28 09:58:19 +01:00
Michael Friedrich 815a34a535 Filelogger must not truncate log file, but append its stream.
Refs #5448
2014-01-14 17:25:05 +01:00
Michael Friedrich 555d72150a Update copyright header.
Fixes #5424
2014-01-09 00:32:11 +01:00
Gunnar Beutner 21fb0d9872 Implement "safe mode" for icinga::Deserialize.
Fixes #5035
2013-12-18 10:27:58 +01:00
Michael Friedrich 79f5618eba Use std::string::find() in String::Contains().
Refs #5355
2013-12-17 18:34:05 +01:00
Michael Friedrich 7fa9188df8 Add String::Contains().
Refs #5355
2013-12-17 18:34:05 +01:00
Gunnar Beutner b2ec194a82 Update log level for some messages.
Fixes #5357
2013-12-17 14:26:48 +01:00
Gunnar Beutner 41d4ba169f Embed constants into lib{base,icinga,db_ido}.
Fixes #5247
2013-12-17 14:24:29 +01:00
Gunnar Beutner 65b41c51ff Fix compiler warnings in ThreadPool::ThreadPool.
Refs #5349
2013-12-17 07:52:26 +01:00
Gunnar Beutner 79e960f7cb Fix a log message.
Refs #5342
2013-12-16 17:23:34 +01:00
Gunnar Beutner 162cee5c40 Remove the ConsoleLogger class and keep the default console log enabled until we daemonize.
Refs #5342
2013-12-16 17:23:23 +01:00
Michael Friedrich f4c132ca5b Move command argument logging into the unix process class.
Refs #5225
2013-12-16 16:22:22 +01:00
Gunnar Beutner 2f58071b6f Fix race condition in Logger::GetLoggers.
Fixes #5341
2013-12-16 09:53:50 +01:00
Gunnar Beutner f08bca220d Fix race condition in icinga::Log.
Refs #5337
2013-12-15 18:46:09 +01:00
Gunnar Beutner 4563bb355f Fix another race condition in DynamicObject::Start.
Fixes #5330
2013-12-14 07:36:49 +01:00
Michael Friedrich 5f54406057 Log commands and their arguments.
Fixes #5225
2013-12-13 17:37:00 +01:00
Gunnar Beutner 7fbdf1d633 Fix crash in icinga::Log.
Fixes #5330
2013-12-13 15:13:20 +01:00
Gunnar Beutner e7184225f3 Improve performance for icinga::Deserialize.
Refs #5327
2013-12-13 14:08:11 +01:00
Gunnar Beutner f8d7f7799e Improve WorkQueue performance
Refs #5327
2013-12-13 14:08:06 +01:00
Gunnar Beutner b4f2f06b88 Implement ParallelWorkQueue class.
Refs #5327
2013-12-13 14:08:02 +01:00
Gunnar Beutner 37179cdf32 Improve config compiler performance.
Refs #5327
2013-12-13 14:07:37 +01:00
Gunnar Beutner 98733fc105 Add timestamp to crash dumps.
Fixes #5315
2013-12-12 14:38:34 +01:00
Johannes Meyer 9229aa4948 Merge branch 'feature/Array-insert-functionality' into next
resolves #5320
2013-12-12 13:53:27 +01:00
Gunnar Beutner 7a107b7dbd Improve compatibility with C++11.
Fixes #5307
2013-12-11 16:40:55 +01:00
Gunnar Beutner af6df9f268 Improve compatibility with Windows.
Fixes #5287
2013-12-09 13:46:53 +01:00
Gunnar Beutner ab2e1e99e2 ScriptVariableRegistry::GetInstance should not be defined inline.
Fixes #5284
2013-12-09 12:26:25 +01:00
Gunnar Beutner 203cf73bf7 Improve error messages for the check result reader.
Fixes #5275
2013-12-09 09:52:09 +01:00
Gunnar Beutner 41ded2858c Implement scheduled downtimes.
Fixes #3584
2013-12-06 13:45:18 +01:00
Gunnar Beutner 6714796ecd Set rlimits in the Application class (rather than in the init script).
Fixes #5260
2013-12-05 11:11:03 +01:00
Gunnar Beutner e540685e13 Implement support for constants in the config parser.
Refs #4946
2013-12-04 11:32:45 +01:00
Gunnar Beutner 30c989074b Implement support for making script variables constant.
Refs #4946
2013-12-04 10:41:26 +01:00
Gunnar Beutner 6625346922 Speed up config compiler.
Fixes #5255
2013-12-03 09:59:21 +01:00
Gunnar Beutner 4648b82b33 Fix compiler warning for Utility::GlobRecursive.
Refs #5246
2013-12-02 11:18:16 +01:00
Gunnar Beutner 29f9117e58 Avoid using dynamic_pointer_cast when possible.
Refs #5246
2013-12-02 11:18:16 +01:00
Gunnar Beutner 954d2d53a2 Further decrease WQ lock contention.
Refs #5246
2013-12-02 11:18:16 +01:00
Gunnar Beutner 553bd3246b Improve compatibility with -fvisibility=hidden.
Refs #5246
2013-12-02 11:07:41 +01:00
Gunnar Beutner f05858d3ad Avoid unnecessary copies when iterating over dictionaries.
Refs #5246
2013-12-02 11:07:38 +01:00
Gunnar Beutner 1c0f9fe9ac Fix WorkQueue lock contention.
Fixes #5245
2013-12-02 08:38:53 +01:00
Gunnar Beutner 9f7e5b1845 Fix compiler warning.
Refs #5245
2013-11-29 17:06:48 +01:00
Gunnar Beutner dd200d0937 Increase default work queue size.
Fixes #5244
2013-11-29 15:27:11 +01:00
Gunnar Beutner f8d2172c27 Implement include_recursive config directive.
Fixes #5238
2013-11-29 12:26:31 +01:00
Gunnar Beutner cac4167e79 Fix initial check schedule.
Fixes #5240
2013-11-28 20:56:48 +01:00
Gunnar Beutner 4ffc22516a Renice child processes.
Fixes #5237
2013-11-28 15:15:28 +01:00
Gunnar Beutner f9c53ad295 Implement workqueue statistics.
Refs #5235
2013-11-28 12:12:24 +01:00
Gunnar Beutner 6d53bd1c8f Make sure IDO reconnect attempts don't recurse.
Refs #5235
2013-11-28 10:36:43 +01:00
Gunnar Beutner 640136fbdb Make object, type and variable names case-sensitive.
Fixes #5228
2013-11-27 12:29:42 +01:00
Gunnar Beutner 25da7a2291 Add sysconf dir to the version info message.
Refs #5224
2013-11-27 11:47:14 +01:00
Gunnar Beutner 9d8edd286f Implement IcingaSysconfDir variable.
Refs #5224
2013-11-27 09:46:31 +01:00
Gunnar Beutner 4ed798385d Improve bug messages.
Refs #4635
2013-11-26 18:35:36 +01:00
Gunnar Beutner d4cc6fb5e0 Improve compatibility with Solaris.
Fixes #5129
2013-11-24 01:00:35 +01:00
Gunnar Beutner e32a149049 Glob: Use stat() instead of lstat().
Refs #5123
2013-11-22 10:41:57 +01:00
Gunnar Beutner 7a3a8de83c Optimize IDO queries.
Refs #5124
2013-11-22 10:32:53 +01:00
Gunnar Beutner 0978e46d5a Implement file type flags for Utility::Glob.
Fixes #5123
2013-11-22 09:03:52 +01:00
Gunnar Beutner 7a79886922 Fix deadlock in WorkQueue::Enqueue.
Fixes #5120
2013-11-21 13:54:01 +01:00
Gunnar Beutner 92dd32eb68 Implement support for high-level stack traces.
Refs #5085
2013-11-21 09:42:27 +01:00
Gunnar Beutner 062110339b Fix spelling mistake.
Refs #5085
2013-11-21 08:30:16 +01:00
Gunnar Beutner 43ab2b69a4 Fix handle leak in the ThreadPool class.
Fixes #5078
2013-11-21 07:46:12 +01:00
Gunnar Beutner 39dcf20a89 Implement support for stack traces for STL exceptions.
Fixes #5114
2013-11-20 21:55:14 +01:00
Gunnar Beutner 1676af8b2d Implement signal handler for SIGTERM.
Fixes #5087
2013-11-17 20:04:27 +01:00
Gunnar Beutner 0f28e55925 Implement support for non-standard "multi" performance data.
Refs #5082
2013-11-17 03:29:43 +01:00
Gunnar Beutner 687c88bea0 Don't kill too many worker threads at once.
Refs #5050
2013-11-15 14:04:03 +01:00
Gunnar Beutner 979df4e110 Create new threads more aggressively right after program start.
Refs #5050
2013-11-15 12:36:52 +01:00
Gunnar Beutner 9a93cc83b3 Include thread pool ID in debug messages.
Refs #5050
2013-11-15 12:20:19 +01:00
Gunnar Beutner f5f8de8137 Fix compatibility with OpenSSL <1.0.0.
Refs #3657
2013-11-13 10:36:57 +01:00
Gunnar Beutner a5e3c70bcc Implement support for CRLs.
Fixes #3657
2013-11-13 10:30:40 +01:00
Gunnar Beutner 6ccf4497f2 Fix unit tests on Windows.
Fixes #5068
2013-11-13 09:08:17 +01:00
Gunnar Beutner 4f1cb83f31 Fix Convert::ToString.
Fixes #5054
2013-11-11 13:04:18 +01:00
Gunnar Beutner 893243db5f Fix exception in Value::ToJson().
Refs #5049
2013-11-11 09:31:36 +01:00
Gunnar Beutner eb746b9929 Optimize DynamicObject::HasAuthority().
Refs #5049
2013-11-11 08:39:35 +01:00
Gunnar Beutner 17834e0a77 Ignore invalid fields in the state file.
Refs #5039
2013-11-09 18:30:17 +01:00
Gunnar Beutner ba6f64a0ec Remove GetType().
Refs #5036
2013-11-08 21:37:21 +01:00
Gunnar Beutner 2a6151e935 Use anonymous namespaces for INITIALIZE_ONCE().
Refs #5036
2013-11-08 21:12:47 +01:00
Gunnar Beutner 98c3431dda Add missing == operator for the Value class.
Refs #5036
2013-11-08 21:12:22 +01:00
Gunnar Beutner e546cd854d Clean up the DynamicType class.
Refs #5036
2013-11-08 16:07:21 +01:00
Gunnar Beutner 0a67e760bd Optimize GraphiteWriter::SendMetric.
Fixes #5037
2013-11-08 15:43:14 +01:00
Gunnar Beutner a84536bea3 Implement serializer support for arbitrary classes.
Fixes #5024
2013-11-08 14:08:59 +01:00
Gunnar Beutner 038be974e4 Implement additional operators for the Value and String classes.
Refs #2710
2013-11-07 16:07:52 +01:00
Gunnar Beutner 14553139ae Implement String::FindFirstNotOf.
Refs #2710
2013-11-07 16:07:52 +01:00
Gunnar Beutner 6acc017707 Remove namespace qualifiers for boost::make_shared and boost::enable_shared_from_this.
Fixes #5012
2013-11-07 08:28:33 +01:00
Gunnar Beutner 5e68746128 Implement Utility::DemangleSymbolName on Windows.
Fixes #5010
2013-11-05 20:26:05 +01:00
Gunnar Beutner 27f527d0ad Implement String::GetData.
Fixes #5008
2013-11-05 18:59:39 +01:00
Gunnar Beutner 2617521ce3 Fix exception in Exception in IdoPgsqlConnection::Query.
Fixes #5002
2013-11-05 13:35:59 +01:00
Gunnar Beutner b5b56e5438 Implement Type::GetBaseType().
Refs #4996
2013-11-05 08:56:35 +01:00
Gunnar Beutner b1ddc71925 Merge ReflectionObject methods into the Object class.
Refs #4996
2013-11-05 08:56:30 +01:00
Gunnar Beutner 2140cef041 Implement the ReflectionType class.
Refs #4996
2013-11-05 08:56:18 +01:00
Gunnar Beutner 3cfccba1ea Implement "hello world" test app.
Refs #4995
2013-11-05 08:34:34 +01:00
Gunnar Beutner 22f0f388a7 Link libase against libdl.
Fixes #4994
2013-11-04 09:38:13 +01:00
Gunnar Beutner 8586f90379 Implement support for loading OS X libraries.
Refs #4993
2013-11-04 07:49:51 +01:00
Gunnar Beutner ee07cc9d06 Fix: ASSERT in WorkQueue::Enqueue fails
Refs #4991
2013-11-03 13:57:18 +01:00
Gunnar Beutner f2307c4242 Add cmake build files.
Refs #4962
2013-11-03 13:45:26 +01:00
Gunnar Beutner 2c143fbdf8 Remove unused files.
Refs #4962
2013-11-03 11:12:47 +01:00
Gunnar Beutner 375c5a53c6 Don't join threads that are already dead.
Refs #4990
2013-11-03 10:58:57 +01:00
Gunnar Beutner 8279fbd633 Fix deadlock in ThreadPool::Join.
Refs #4989
2013-11-02 10:38:54 +01:00
Gunnar Beutner fcc96cfe8f Fix compilation with Visual Studio 2013.
Refs #4987
2013-11-01 00:13:30 +01:00
Gunnar Beutner 6abf16e6ed Fix deadlock in ThreadPool::Join.
Refs #4986
2013-10-31 19:10:36 +01:00
Gunnar Beutner 7a751eb8af Fix DynamicObject::HasAuthority.
Refs #4979
2013-10-30 15:59:14 +01:00
Gunnar Beutner 4ce0f1e7bb Implement WorkQueue::GetThreadId.
Refs #4758
2013-10-30 13:13:09 +01:00
Gunnar Beutner ef55412855 Fix libdl detection on FreeBSD.
Refs #4977
2013-10-30 13:01:50 +01:00
Gunnar Beutner dc21088680 Fix make dist.
Refs #4976
2013-10-30 12:18:08 +01:00
Gunnar Beutner 9f1c4539dc Remove libltdl dependency.
Refs #4964
2013-10-30 12:00:55 +01:00
Gunnar Beutner db4b3b78d6 Implement class compiler.
Refs #4963
2013-10-28 14:27:36 +01:00
Gunnar Beutner ab402cbfaf Remove unused #includes. 2013-10-22 10:13:35 +02:00
Michael Friedrich 622e4d7f25 Start log flush timer after binding the stream.
refs #4890
2013-10-21 14:15:21 +02:00
Michael Friedrich 07d9a59fe0 Flush StreamLogger periodically.
fixes #4890
2013-10-21 14:09:14 +02:00
Gunnar Beutner 3cb6e3bf82 Make sure to #include <pthread_np.h> on FreeBSD. 2013-10-21 09:52:45 +02:00
Michael Friedrich 39f11334ab Add NOTIFICATION{AUTHOR,AUTHORNAME,COMMENT} macros.
fixes #4914
2013-10-19 00:19:16 +02:00
Gunnar Beutner e5b3a59aa3 Set thread names for the BufferedStream thread procs. 2013-10-18 11:46:19 +02:00
Gunnar Beutner 89d313008d Fix: GraphiteWriter: reconnect on broken socket.
Fixes #4883
2013-10-18 09:11:21 +02:00
Gunnar Beutner c824fc4f9f Fix error message. 2013-10-18 08:48:15 +02:00
Gunnar Beutner 917f288a95 Clean up socket code. 2013-10-18 08:26:48 +02:00
Gunnar Beutner c4941bb3c5 Close all file descriptors before restarting.
Refs #4905
2013-10-17 18:24:35 +02:00
Gunnar Beutner 5647694c2a Build fix. 2013-10-17 15:52:26 +02:00
Gunnar Beutner 65f4176fa8 Fix deadlock in WorkQueue::Join(). 2013-10-17 15:49:53 +02:00
Gunnar Beutner 492aed030e Improve the error message for GetX509Certificate(). 2013-10-17 15:46:50 +02:00
Gunnar Beutner fa845775a2 Fix crashes when restarting Icinga. 2013-10-17 10:56:42 +02:00
Gunnar Beutner b4ab6c8253 Re-implement WorkQueue item limit. 2013-10-17 10:19:17 +02:00
Gunnar Beutner eed901304a Fix deadlock in WorkQueue::Enqueue(). 2013-10-17 09:14:06 +02:00
Gunnar Beutner a03c58f27e MakeSSLContext: Check if keys match. 2013-10-15 21:24:55 +02:00
Gunnar Beutner 1bce8cec97 Fix: ZlibStream doesn't work even if libssl supports zlib.
Fixes #4848
2013-10-15 12:59:49 +02:00
Gunnar Beutner db90a785db Win64 build fix. 2013-10-10 23:30:05 +02:00
Gunnar Beutner 494fb90547 Make sure Registry<> types are unique. 2013-10-10 23:07:34 +02:00
Gunnar Beutner 1b0977a512 Windows build fix. 2013-10-10 23:07:33 +02:00
Gunnar Beutner fdc3f32544 Make bug message somewhat more useful. 2013-10-10 14:29:23 +02:00
Gunnar Beutner fe5c925a63 Windows build fix. 2013-10-09 15:03:24 +02:00
Gunnar Beutner 3f922e5eac Implement Application::GetVersion().
Fixes #4801
2013-10-09 08:46:31 +02:00
Gunnar Beutner d36e2ebd1a Build fix for CentOS 5.9.
Fixes #4819
2013-10-08 15:43:36 +02:00
Gunnar Beutner f449eb9e84 Implement Utility::Random(). 2013-10-03 22:10:46 +02:00
Michael Friedrich e8bd81bddc db_ido: Add idoutils 1.x schema, check required 1.10.0 version.
fixes #4766
2013-09-27 15:56:22 +02:00
Gunnar Beutner 1e4d38725b Make sure WorkQueue::m_Executing is initialized. 2013-09-26 10:25:04 +02:00
Gunnar Beutner bf1a800e39 Update copyright information. 2013-09-25 07:45:56 +02:00
Gunnar Beutner 137c726920 base: Limit work queue size. 2013-09-21 17:53:14 +02:00
Gunnar Beutner 132695a460 base: Limit buffer size for BufferedStream objects. 2013-09-20 09:45:05 +02:00
Gunnar Beutner 74a4432bad Fix: DynamicObject::HasPrivileges should always return true if privs == 0. 2013-09-19 14:47:17 +02:00