Commit graph

8588 commits

Author SHA1 Message Date
Armin
88a301d120 PERFORMANCE: Cache some metrics
Fixes #7919
2017-08-07 21:11:52 +00:00
Armin
68cd14be0a PERFORMANCE: Don't use slow metric clocks where avoidable
Fixes #7919
2017-08-07 21:11:52 +00:00
Armin
14c6af7378 PERFORMANCE: Cache some metrics
Fixes #7919
2017-08-07 21:11:52 +00:00
Jake Landis
8d6984b282 Revert "Performance: Use RubyArray.hash for metric's fast lookup key"
This reverts commit 9b4d7c51ae (master)

Fixes: #7925

Fixes #7927
2017-08-07 18:59:18 +00:00
Armin
67ad288a14 PERFORMANCE: Force JIT compilation, don't AOT compile
Fixes #7923
2017-08-07 16:55:01 +00:00
Armin
f13f0b2da5 PERFORMANCE: Removed DoubleBiValue and FloatBiValue
Fixes #7917
2017-08-07 16:53:43 +00:00
Armin
20be4f108f CLEANUP: Remove unused TimeBiValue
Fixes #7920
2017-08-07 08:28:01 +00:00
Armin
268e3156d5 PERFORMANCE: Cleanup Redundant Timestamp instantiations
Fixes #7916
2017-08-06 07:29:53 +00:00
Armin
18018e152a PERFORMANCE: Better hashCode and equals for RubyEvent
Fixes #7902
2017-08-04 10:40:54 +00:00
Armin
30e7adfdae PERFORMANCE: remove redundant return call
Fixes #7902
2017-08-04 10:40:54 +00:00
Armin
c39502af99 PERFORMANCE: Completely drop StringBiValue
Fixes #7854
2017-08-04 06:30:29 +00:00
Armin
ac65ced5a1 PERFORMANCE: Constant RubyHash Visitor
Fixes #7898
2017-08-04 05:12:01 +00:00
Armin
d12dddb018 PERFORMANCE: Intern string keys from FieldReferences
Fixes #7894
2017-08-03 20:12:16 +00:00
Armin
d6006ece00 MINOR: Improve batch iteration
Fixes #7837
2017-08-03 19:19:42 +00:00
Armin
896fa6b7a8 PEFORMANCE: Efficient Field get/set/del/includes on Event
Fixes #7889
2017-08-03 14:01:25 +00:00
DeDe Morton
cdc7c1e831 Fix broken links
Fixes #7887
2017-08-03 05:34:12 +00:00
DeDe Morton
eb5e0b76c3 Use correct asciidoc attributes
Fixes #7886
2017-08-03 05:01:36 +00:00
DeDe Morton
3cc0a7e34d Add queue.drain option to the docs
Fixes #7583
2017-08-03 04:22:11 +00:00
Rob Bavey
9ee3a305b1 Add additional unit test and more broad checking
Fixes #7871
2017-08-03 01:46:44 +00:00
Rob Bavey
74cebac03f Fix handling of last event in block
The last event in a block was being incorrectly handled in such a way that caused unexpected
behavior depending on the contents of the final event, it could cause plugins to fail, or
Logstash to fail with an OutOfMemoryError

Fixes #7871
2017-08-03 01:46:44 +00:00
Colin Surprenant
366ebfd0b0 handle fully acked zero byte page at queue open (#7810) 2017-08-02 13:11:47 -07:00
Rob Bavey
2a235a5f04 Remove closed DeadLetterQueueWriters from 'Factory'
Fix bug where reloading a pipeline would close the DLQWriter, but
leave the closed version cached in the factory object, stopping
the reloaded pipeline from being able to write to the dead letter
queue.

Fixes #7840
2017-08-02 20:04:17 +00:00
Rob Bavey
21503af882 Add doc note
Fixes #7838
2017-08-02 18:54:09 +00:00
Rob Bavey
a3b058d551 Add check to stop messages looping through DLQ
Add check to stop events from being written to the DLQ that
have previously been written to the DLQ

Fixes #7838
2017-08-02 18:54:09 +00:00
Armin
cda021341d MINOR: Remove Redundant BiValue Interface and Rename Abstract Class Accordingly
Fixes #7850
2017-08-02 18:13:09 +00:00
Armin
601d9aeebe PERFORMANCE: Remove lut Cache in Accessors
Fixes #7839
2017-08-02 18:11:27 +00:00
Armin
11b8da38ee Benchmark: General cleanup
Fixes #7875
2017-08-02 15:16:17 +00:00
Armin
4749672f18 Benchmark: fix cache use
Fixes #7875
2017-08-02 15:16:17 +00:00
Armin
60fbb57a20 Benchmark: added run script
Fixes #7875
2017-08-02 15:16:17 +00:00
Joao Duarte
09a66b9b6e fix a few issues with pipeline source loading
- allow empty config.string
- move all config autocompletion logic to the ConfigStringLoader
- gracefully handle absense of files in path.config
- ensure original_settings are restored in multi_local source after PipelineConfig creation

Fixes #7866
2017-08-02 12:33:57 +00:00
Armin
46f47c66f9 #7754 ensure we actually test periodic flushing in specs + make flush work without data input data
Fixes #7863
2017-08-02 12:24:54 +00:00
Jake Landis
eb82bc3893 Metrics: Cache the hostname in class variable Fixes: #7857
Fixes #7858
2017-08-01 18:40:56 +00:00
Armin
5db01eb418 Benchmark: Allow setting a repeat count
Fixes #7864
2017-08-01 16:23:50 +00:00
Armin
7edf6a8bb8 #7851 allow UTF-8 in config file
Fixes #7852
2017-07-31 11:54:26 +00:00
Armin
299fb34772 #7817 Accessors should only handle ConvertedMap and ConvertedList as Collection, non-scalar types
Fixes #7823
2017-07-31 09:40:46 +00:00
Armin
8282b8b95b PERFORMANCE: Move null guard out of Javafier.deep
Fixes #7849
2017-07-31 09:26:28 +00:00
Armin
3ac1636437 MINOR: Cleanup multiple ObjectMappers being used
Fixes #7846
2017-07-30 18:48:08 +00:00
Armin
39a83d01af PERFORMANCE: Correctly size pathcache backing map
Fixes #7848
2017-07-30 17:58:02 +00:00
Jake Landis
9724485777 Test Fix: Update test to properly reflect the Java Timestamp object. Fixes #7843
Fixes #7844
2017-07-30 16:08:26 +00:00
Jake Landis
e4a4fb5430 Performance: Use RubyArray.hash for metric's fast lookup key
The existing implementation uses the RubyArray as the key for the fast lookup Map. Under the covers the Map implementation is comparing equal operators (many times per event), and JRuby Array equals operator is VERY expensive since it literally walks each value of array for each equality. Based on profiling via YourKit, the JRuby Array equals operator is a very hot method consuming upto 60% of sampled CPU cycles while under high load (and no other CPU dominators).

This change is to use the .hash value of the JRuby Array as the key of the fast lookup Map. This implementation still calls .hash for each and every call, which is also expensive, since it also walks the arrays to compute the hash. However, the equality check of the hash value is very fast, and net gain is significant. Upto a 15% increase of throughput.

Fixes #7772

Fixes #7798
2017-07-29 20:57:47 +00:00
Jake Landis
eaaec59380 Metrics: Fix RubyTimestamp serialization
This change requires setting the and retrieving the value with different types. The Gauge interface has been update to allow for setting / getting using different types.

Fixes #7719

Fixes #7720
2017-07-29 20:09:59 +00:00
Armin
c4983e509f MINOR: Cleanup redundant code in RubyEvent
Fixes #7827
2017-07-28 21:29:23 +00:00
Armin
629e3a21a8 MINOR: Remove complicated utility method call from RubyEvent initialize method
Fixes #7825
2017-07-28 12:56:12 +00:00
Armin
11754001e5 MINOR: Flatten Pipeline Worker Threads
Fixes #7836
2017-07-28 12:38:56 +00:00
Armin
97a5d76ba4 #7784 ES benchmark result storage to ES
Fixes #7830
2017-07-28 06:59:02 +00:00
Armin
ae4cabe07e #7690 Fix needless waiting by using an ArrayBlockingQueue
Fixes #7691
2017-07-28 06:08:29 +00:00
DeDe Morton
7fe78bb40c Add fixes from the review
Fixes #7826
2017-07-28 00:39:17 +00:00
DeDe Morton
d6cde36d4c Add module usage info
Fixes #7826
2017-07-28 00:39:17 +00:00
Suyog Rao
c0a224798b remove rake benchmark target
Fixes #7831
2017-07-27 19:40:41 +00:00
Suyog Rao
fea624a05b Delete unused tools/benchmark folder
Fixes #7831
2017-07-27 19:40:40 +00:00