Skip to content

Instantly share code, notes, and snippets.

View Lax's full-sized avatar

Liu Lantao Lax

View GitHub Profile
@Lax
Lax / Gemfile
Last active August 29, 2015 14:16
Consume TSData from kafka, write to opentsdb
source 'http://ruby.taobao.org'
gem "poseidon" # kafka
gem "thrift"
gem "opentsdb"
@Lax
Lax / aliyun-cms-monitor.rb
Created July 22, 2015 13:21
Aliyun CMS(Cloud Monitor Service) Demo. https://github.com/Lax/aliyun
#!/usr/bin/env ruby
require 'rubygems'
require 'aliyun'
require 'time'
$DEBUG=true
options = {:access_key_id => "ALIYUN_KEY_ID",
:access_key_secret => "ALIYUN_KEY_SECRET",
:service => :cms}
@Lax
Lax / logstash-accounting.conf
Created August 3, 2015 07:27
logstash.conf for ngx_http_accounting_module
input {
stdin {}
}
filter {
grok {
match => [ "message", "^%{SYSLOGTIMESTAMP:timestamp}\|\| pid:\d+\|from:\d{10}\|to:\d{10}\|accounting_id:%{WORD:accounting}\|requests:%{NUMBER:req:int}\|bytes_out:%{NUMBER:size:int}\|%{DATA:status}"]
}
kv {
target => "code"
source => "status"
@Lax
Lax / preprocessor_fun.h
Last active August 29, 2015 14:27 — forked from aras-p/preprocessor_fun.h
Things to commit just before leaving your job
// Just before switching jobs:
// Add one of these.
// Preferably into the same commit where you do a large merge.
//
// This started as a tweet with a joke of "C++ pro-tip: #define private public",
// and then it quickly escalated into more and more evil suggestions.
// I've tried to capture interesting suggestions here.
//
// Contributors: @r2d2rigo, @joeldevahl, @msinilo, @_Humus_,
// @YuriyODonnell, @rygorous, @cmuratori, @mike_acton, @grumpygiant,
@Lax
Lax / redis-queue-transfer.py
Last active August 27, 2015 15:26
transfer item from one redis queue to another
#!/usr/bin/env python
import redis
POOL = redis.ConnectionPool(host='127.0.0.1', port=6379, db=0)
if __name__=="__main__":
while True:
my_server = redis.Redis(connection_pool=POOL)
kafka_message = my_server.lpop("src:queue")
if kafka_message:
var page = require('webpage').create(),
system = require('system'),
t, address;
if (system.args.length === 1) {
console.log('Usage: loadspeed.js <some URL>');
phantom.exit();
}
t = Date.now();
"use strict";
function waitFor(testFx, onReady, timeOutMillis) {
var maxtimeOutMillis = timeOutMillis ? timeOutMillis : 3000, //< Default Max Timout is 3s
start = new Date().getTime(),
condition = false,
interval = setInterval(function() {
if ( (new Date().getTime() - start < maxtimeOutMillis) && !condition ) {
// If not time-out yet and condition not yet fulfilled
condition = (typeof(testFx) === "string" ? eval(testFx) : testFx()); //< defensive code
@Lax
Lax / rails-ujs-demo.rb
Created August 14, 2017 04:43
Demo code for `rails-ujs`
#
# Usage:
# rails new -m=ujs.rb ujs_demo
#
gem 'rails'
gem 'jquery-rails'
generate :controller, :ujs
@Lax
Lax / com.example.jenkins.plist
Created December 14, 2017 16:54
Start jenkins slave agent on macOS. launchctl load -w com.example.jenkins.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.example.ci</string>
<key>UserName</key>
<string>lax</string>
<key>ProgramArguments</key>
<array>
@Lax
Lax / Setup-Steps.md
Last active January 8, 2018 08:32
Confluent - Kafka setup

Environments

Docker host name: localhost
Docker host ip: 192.168.0.98 - (macOS: `ifconfig en0 inet`; Linux: `/sbin/ifconfig  eth0`)
Zookeeper address: 192.168.0.98:2181
Kafka address: 192.168.0.98:9092