Skip to content

Instantly share code, notes, and snippets.

Ry Biesemeyer yaauie

Block or report user

Report or block yaauie

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@yaauie
yaauie / delete-emtpy-nodes.logstash-filter-ruby.rb
Last active Jul 23, 2019
A script for a Logstash Ruby Filter to delete empty nodes from an event; by default, crawls the entire event recursively, but it can be configured to limit the scope.
View delete-emtpy-nodes.logstash-filter-ruby.rb
###############################################################################
# delete-emtpy-nodes.logstash-filter-ruby.rb
# ---------------------------------
# A script for a Logstash Ruby Filter to delete empty nodes from an event; by
# default, crawls the entire event recursively, but it can be configured to
# limit the scope.
###############################################################################
#
# Copyright 2018 Ry Biesemeyer
#
@yaauie
yaauie / back_pressure_provider.rb
Created Apr 29, 2019
proof-of-concept generic back-pressure provider, enables blocking back-pressure to be controlled outside the code that is performing the actions.
View back_pressure_provider.rb
# The BackPressureProvider allows back-pressure to be applied to non-blocking APIs when those APIs also
# provide hooks for identifying when they _should_ block.
class BackPressureProvider
def initialize(desc, logger)
@desc = desc
@logger = logger
@mutex = Mutex.new
@cond = ConditionVariable.new
@back_pressure_engaged = false
@yaauie
yaauie / cdlp
Last active Mar 4, 2019
Bash/Zsh-compliant utility function that allows you to cd into a local checkout of a Logstash Plugin's source code, whether or not you have previously cloned the repository
View cdlp
#!/usr/bin/env bash
#
# Utility that allows you to cd into a local checkout of a Logstash Plugin's
# source code, whether or not you have previously cloned the repository.
#
# Usage:
# cdlp <type> <qualifier>
#
# Example:
# cdlp output elasticsearch
View processor-hostname.logstash-filter-ruby.rb
filter {
ruby {
path => "${PWD}/processor-hostname.logstash-filter-ruby.rb"
script_params => {
"target" => "@processed-by"
}
}
}
@yaauie
yaauie / pipeline.conf
Last active May 6, 2019
A script for a Logstash Ruby Filter to transpose an array of two-element objects representing key/value tuples into a single hash/map
View pipeline.conf
filter {
# to convert an array of key/value objects into a single unordered
# key/value map, use the included `transpose` script:
ruby {
path => "${PWD}/transpose.logstash-filter-ruby.rb"
script_params => {
source => "[proplist]"
}
}
@yaauie
yaauie / jdbc-informix-windowing.diff
Created Sep 18, 2018
Logstash JDBC Input Plugin: Informix DB Windowing Support Proof-of-Concept
View jdbc-informix-windowing.diff
diff --git a/lib/logstash/plugin_mixins/jdbc.rb b/lib/logstash/plugin_mixins/jdbc.rb
index c9bc547..934a4f1 100644
--- a/lib/logstash/plugin_mixins/jdbc.rb
+++ b/lib/logstash/plugin_mixins/jdbc.rb
@@ -162,6 +162,7 @@ module LogStash::PluginMixins::Jdbc
raise LogStash::ConfigurationError, "#{e}. #{message}"
end
@database = jdbc_connect()
+ @database.extension(:informix_windowing)
@database.extension(:pagination)
@yaauie
yaauie / lucene-list-fields-from-elasticsearch-index-mappings.rb
Created Sep 11, 2018
A quick and very dirty script to list the effective lucene field list from an elasticsearch index mapping
View lucene-list-fields-from-elasticsearch-index-mappings.rb
#!/usr/bin/env ruby
# A quick and very dirty script to list the effective lucene schema from an elasticsearch index mapping
#
# USAGE:
# cat index_mappings.json | lucene-list-fields-from-elasticsearch-index-mappings.rb
# cat cluster_mappings.json | jq '.["index_name"].mappings' | lucene-list-fields-from-elasticsearch-index-mappings.rb
#
#
# Copyright 2018 Ry Biesemeyer (@yaauie)
@yaauie
yaauie / years-elapsed.rb
Last active Sep 10, 2018
A Ruby function for determining the number of whole years elapsed between two `Time` objects. No dependencies. MIT License.
View years-elapsed.rb
##
# Determine the number of whole years elapsed between two [Time] objects.
# It is assumed that the provided [Time] objects are in the same time-zone
# and part of a single continuous chronology.
#
# @param time1 [Time]
# @param time2 [Time]
#
# @return [Integer]
#
View keybase.md

Keybase proof

I hereby claim:

  • I am yaauie on github.
  • I am yaauie (https://keybase.io/yaauie) on keybase.
  • I have a public key whose fingerprint is 0FA5 1969 4D7F 08F0 083F A1B6 CF2C 1D14 E392 052D

To claim this, I am signing this object:

View capture-filter.rb
# Copyright 2018 Ry Biesemeyer (@yaauie)
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
You can’t perform that action at this time.