Skip to content

Instantly share code, notes, and snippets.

View mfournier's full-sized avatar

Marc Fournier mfournier

View GitHub Profile
@mfournier
mfournier / Dockerfile
Created November 5, 2014 10:05
qgis on RHEL6 (wip)
FROM centos:centos6
RUN rpm -U http://mirror.switch.ch/ftp/mirror/epel/6/x86_64/epel-release-6-8.noarch.rpm
# grass, qgis & qextserialport build deps
RUN yum -y install bison blas-devel cairo-devel cmake cpp desktop-file-utils doxygen expat-devel fcgi-devel fftw2-devel flex gcc gcc-c++ gdal-devel geos-devel gettext git gsl-devel lapack-devel libspatialite-devel libudev-devel libXmu-devel make mesa-libGLw-devel mysql-devel ncurses-devel pkgconfig postgresql-devel proj-devel proj-epsg proj-nad PyQt4-devel PyQwt-devel python2-devel qscintilla-devel qt4-devel qt4-webkit-devel qwt-devel qwtpolar-devel readline-devel rpm-build sip-devel spatialindex-devel sqlite-devel swig tar tk-devel unixODBC-devel wxGTK-devel wxPython-devel
# QT build deps
#RUN yum -y install cups-devel libmng-devel alsa-lib-devel dbus-devel libicu-devel NetworkManager-devel pulseaudio-libs-devel libXv-devel libXtst-devel gstreamer-devel gstreamer-plugins-base-devel
@mfournier
mfournier / varnish4.diff
Created October 21, 2014 14:43
initial patch adding varnish4 support to collectd
diff --git configure.ac configure.ac
index 9dd30c7..26c342a 100644
--- configure.ac
+++ configure.ac
@@ -4591,7 +4591,7 @@ if test "x$with_libvarnish" = "xyes"
then
SAVE_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $with_libvarnish_cflags"
- AC_CHECK_HEADERS(varnish/varnishapi.h, [], [with_libvarnish="no (varnish/varnishapi.h not found)"])
+ #AC_CHECK_HEADERS(varnish/varnishapi.h, [], [with_libvarnish="no (varnish/varnishapi.h not found)"])
@mfournier
mfournier / strace.log
Last active August 29, 2015 14:07
strace -f /opt/collectd/sbin/collectd -t -T > strace.log 2>&1
root@08ebc8c35bad:/usr/src/collectd# ldd /opt/collectd/lib/collectd/varnish.so
linux-vdso.so.1 (0x00007ffff6bfc000)
libvarnishapi.so.1 => /usr/lib/x86_64-linux-gnu/libvarnishapi.so.1 (0x00007f67a7328000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f67a7124000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f67a6d7b000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f67a6b0d000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f67a6905000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f67a66e7000)
/lib64/ld-linux-x86-64.so.2 (0x00007f67a775c000)
config_opts['root'] = '<%= distro %>-<%=version %>-<%= architecture %>'
config_opts['target_arch'] = '<%= architecture %>'
config_opts['legal_host_arches'] = ('i386', 'x86_64')
config_opts['chroot_setup_cmd'] = 'groupinstall buildsys-build'
config_opts['dist'] = 'c<%= version %>' # only useful for --resultdir variable subst
config_opts['yum.conf'] = """
[main]
cachedir=/var/cache/yum
debuglevel=1
@mfournier
mfournier / riemann_dash_passenger.pp
Last active August 29, 2015 14:07
puppet manifest to run riemann-dash in apache & passenger, on RHEL7
# depends on the following modules:
# - puppetlabs/apache
# - puppetlabs/vcsrepo
# - camptocamp/selinux
class riemann::dash::passenger ($passenger_version = '4.0.50') {
# you'll also need gcc, gcc-c++, make, autoconf, etc, installed
package { ['httpd-devel', 'apr-devel', 'apr-util-devel', 'libcurl-devel', 'openssl-devel', 'zlib-devel']: } ->
package { 'passenger':
4 1 0x01 84 4032 347839142 530034724281435
name type data
hits 4 647407796
misses 4 39058252
demand_data_hits 4 15995149
demand_data_misses 4 311480
demand_metadata_hits 4 557816658
demand_metadata_misses 4 20554126
prefetch_data_hits 4 309934
prefetch_data_misses 4 4208588
(streams
(where (service "riemann streams rate")
(fixed-time-window 10
(smap (fn [events]
(let [event_count (count events) now (quot (System/currentTimeMillis) 1000)]
(prn {:host "foo" :service "bar" :metric event_count :time now})
(index {:host "foo" :service "bar" :metric event_count :time now})
)
))
)
(by :service
(coalesce
(smap folds/sum (with {:host "total cluster" :state "ok"} index))
(smap
(fn [events]
(let [total (:metric (folds/sum events))]
(info total " " (type events) " " (map (fn [e] (:host e)) events))
;(info (map (fn [e] e) events))
)
)
"Name","Time (ms)","Own Time (ms)"
"java.math.BigDecimal.divide(BigDecimal, MathContext)","1418","1418"
"java.util.concurrent.ThreadPoolExecutor$Worker.run()","4911","1354"
"java.lang.Thread.run()","10843","1350"
"java.math.BigInteger.gcd(BigInteger)","810","810"
"java.math.BigInteger.multiply(BigInteger)","618","618"
"java.math.BigInteger.divide(BigInteger)","509","509"
"org.jboss.netty.handler.codec.oneone.OneToOneEncoder.doEncode(ChannelHandlerContext, MessageEvent)","131","364"
"clojure.lang.Numbers.minus(Object, Object)","3005","263"
"clojure.lang.Numbers$LongOps.gcd(long, long)","259","259"
(streams
(let [hosts (atom #{})]
(fn [event]
(swap! hosts conj (:host event))
((throttle 1 10 index) {:service "unique hosts" :time (unix-time) :metric (count @hosts)})
)
)
)