Commit Graph

191 Commits

Author SHA1 Message Date
Teddy Reed
6d5f94b2c6
flags: Separate flags and flagalias (#4682) 2018-07-10 23:04:39 -04:00
Max Kareta
a2e1e37219
Refactor/cmake (#4644) 2018-06-26 18:27:24 +01:00
Max Kareta
2084c74238
updated another set of cmake files (#4622) 2018-06-21 18:43:22 +01:00
Giorgi Guliashvili
ff1747347e
InterruptableRunnable RunnerInterruptPoint redesign (#4545)
* InterruptableRunnable RunnerInterruptPoint redesign

There were several inefficiencies in the old version of RunnerInterruptPoint and InterruptableRunnable.

1) RunnerInterruptPoint was throwing the exception when interrupted, however, the exception was always ignored.

2) InterruptableRunnable used the read-write lock, however only write lock was used.

3) InterruptableRunnable InterruptableRunnable, stored almost similar variable stop_, interrupted_.

4) std::atomic<bool> interrupted_ was used with locks, even though it was accessed by default safest access mode memory_order_seq_cst. So no additional cache invalidation was needed.

5) InterruptableRunnable contained code(in method interrupted() and variables bypass_check_, checked) just for testing. Which was slowing down method interrupted().

6) Some more confusing things. notify_all was not needed, as only one thread could be waiting for the conditional variable. RunnerInterruptPoint:: pause(void) looks ambiguous and that's why was not used anywhere.

I resolved all these problems by merging InterruptableRunnable and RunnerInterruptPoint into the InterruptableRunnable.

1) No use of the exception.
2) 4) Simple mutex, which is only used for pauseMilli. InterruptableRunnable::interrupted and InterruptableRunnable::interrupt function lock-free.
3) Single variable interrupted_.
5) Made InterruptableRunnable::interrupt virtual. Tests override interrupt to make things testable.
6) change to notify_one and removed pause without the specific time.
2018-06-15 16:15:43 +01:00
Max Kareta
5aca61375f
reorganized includes to improve compile time (#4445) 2018-05-30 00:17:40 +01:00
Teddy Reed
97dae5a56e
sync: Fix sync to handle new fbthrift refactor (#4349) 2018-05-01 19:04:46 -04:00
Seshu Pasam
e45ddd98ce kafka: Support for kafka compression.codec (#4181) 2018-03-21 11:53:13 -07:00
ryandeivert
06117da0f1 aws_log_forwarder: incrementing index for batches of records that could not be sent (#4188) 2018-03-09 13:28:14 -08:00
Filipe Manco
1bbdff8c7a
Replace ptree with JSON on serialization code (#4128) 2018-03-01 00:36:24 +00:00
Teddy Reed
9f08f0b957
logger: Add check to prevent C++ extensions from using glog (#4147) 2018-02-22 11:53:52 -08:00
Nick Anderson
57e8e123a1
[fix #4140] Removing WEL logger plugin from systemLog due to duplicate linkage (#4143) 2018-02-20 21:30:54 -08:00
Teddy Reed
90a737ead7
Replace most of boost::property_tree with rapidjson (#3910) 2018-01-20 20:58:01 -05:00
Teddy Reed
00040c6c1a
feature: URI parsing from folly (#4035) 2018-01-06 20:26:36 -08:00
Teddy Reed
f6d077cbf7
license: Change license to Apache 2.0 and GPLv2 (#4007) 2017-12-18 16:04:06 -08:00
Teddy Reed
70a214b8a6
logger: Remove invalid assumptions about status logging (#4001) 2017-12-17 09:44:15 -08:00
Teddy Reed
2c8813a150
logger: wel: codemod the generated WEL header into plugins (#4000) 2017-12-16 21:57:35 -08:00
Alessandro Gario
e859276739 logging: Adds Windows Event Log support (#3887) 2017-12-12 14:15:38 -08:00
Seshu Pasam
1c141995a3 Kafka SSL support (#3921) 2017-11-30 09:13:46 -08:00
Teddy Reed
a7c2669ba3
tidy: Improve clang-tidy (modernize) list of checks and run across codebase (#3870) 2017-10-29 22:25:49 -07:00
Alessandro Gario
58fa4a6899 Verbose logging when spawning services (#3689) 2017-10-24 19:55:05 -07:00
Teddy Reed
aa7f7dee68 logger: Port status serialization to rapidjson (#3742) 2017-10-21 19:25:40 -07:00
Teddy Reed
418973f333 Add logger_snapshot_event_type flag for snapshot events (#3838) 2017-10-16 21:16:52 -07:00
Alessandro Gario
0130928a24 aws_firehose: Add missing newline separator between each log line. (#3743) 2017-09-28 11:08:41 -07:00
Teddy Reed
29f5dfb369 logger: Add benchmarks for status logging (#3741) 2017-09-27 20:30:00 -07:00
Teddy Reed
32ec05c3c0 flags: Add helper method to get an Int32 flag value (#3739) 2017-09-27 20:23:15 -07:00
Seshu Pasam
b6e50c5050 Avoid unnecessary ptree allocation. (#3726) 2017-09-24 21:23:53 -07:00
Alessandro Gario
641aa0321e aws_kinesis/aws_firehose: Be more verbose when complete failures occur. (#3710) 2017-09-18 20:22:40 -07:00
Allan Liu
1cd4ed949f kafka logger: Kafka producer implemented as a Logger plugin (#3155) 2017-09-09 10:38:01 -07:00
Seshu Pasam
6fab8b6083 logging: adding "counter" to differentiate initial results (#3651)
When setting up alerts for differential logs data you might want to skip the
initial added records. counter can be used to identify if the added records
are all records from initial query of if they are new records. For initial
query results that includes all records counter will be "0". For subsequent
query executions counter will be incremented by 1. When epoch changes, counter
will be reset back to "0".
2017-09-07 15:01:15 -07:00
Alessandro Gario
6489c8b050 logging: Add Firehose/Kinesis support to Windows (#3641) 2017-09-03 16:52:47 -07:00
Teddy Reed
f29de27649 Combine osqueryi and osqueryd into single binary (#2742) 2017-08-27 11:09:25 -07:00
Alessandro Gario
a3e4310188 Fix 3568: Kinesis/Firehose record size check failure (#3599) 2017-08-27 11:01:52 -07:00
Teddy Reed
48ab0c783c logger: Use a mutex to protect buffered counts (#3588) 2017-08-22 01:30:13 -07:00
Seshu Pasam
9dc69ee282 Minor static analysis fixes. (#3529) 2017-08-04 18:22:10 -07:00
Seshu Pasam
6495f14828 EC2 instance tags implementation. (#3507) 2017-08-02 13:40:59 -07:00
Zachary Wasserman
b86869208d Fix error handling in AWS logger plugins (#3426) 2017-07-22 19:41:39 -07:00
Lambda Conjecture
ecb9e2ccf2 Add Epoch marker to scheduled query results (#3378) 2017-07-07 17:56:03 -07:00
Teddy Reed
190e46f994 aws: Restore exception error printing and upgrade to 1.1.5 (#3456) 2017-07-02 20:44:06 -07:00
Teddy Reed
414cf83c6a logger: Re-add syslog logger plugin (#3401) 2017-06-13 00:23:54 -07:00
Teddy Reed
a7162daea6 logger: Allow logString and logSnapshot to fast-track (#3362) 2017-05-29 23:49:37 -07:00
Teddy Reed
616172af56 logger: Rename BufferedLogSink instance and other nits (#3361) 2017-05-29 22:23:36 -07:00
Teddy Reed
8a93acfa1c TSAN: Address failures and findings in LLVM 4.0 (#3343) 2017-05-29 02:06:57 -07:00
Teddy Reed
fb287745c6 linux: Use lld and ThinLTO on Linux (#3284) 2017-05-14 14:23:50 -07:00
Teddy Reed
2e6947642a logger: Relay status logs to the enabled log sinks (#3275) 2017-05-11 21:08:14 -07:00
Teddy Reed
4372785d5d Refactor build logic to allow optional: yara, tsk, lldpd (#3226) 2017-04-28 13:45:41 -07:00
Teddy Reed
66c177945e logger: Require an open DB for status logs (#3205) 2017-04-23 13:16:12 -07:00
Teddy Reed
65ef94f053 logger: Fixes to allow plugins access to hostIDs (#3197) 2017-04-22 18:24:25 -07:00
yying
31b78cb996 Adding hostIdentifier, calendarTime, unixTime to status logging (#3146) 2017-04-10 11:56:23 -07:00
Teddy Reed
76fe5d748c logging: Allow Glog reentrancy (#3142) 2017-04-06 15:57:44 -07:00
yying
20f8e6cd5a Adding Status Logging to AWS Kinesis/Firehose Logger Plugins (#3115) 2017-04-04 09:54:56 -07:00