Skip to content

Instantly share code, notes, and snippets.

View mjf's full-sized avatar

Matouš Jan Fialka mjf

View GitHub Profile
@mjf
mjf / phoenix.vim
Created August 15, 2022 22:15
Good Vim colorscheme (XTerm 256 colours)
set background=dark
hi clear
if exists('syntax_on')
syntax reset
endif
let g:colors_name = 'phoenix'
hi Normal ctermfg=250
@mjf
mjf / mysql_min_max_memory_consumption_calculation_example.md
Last active August 11, 2022 07:42
MySQL min/max memory consumption calculation example
                       Example Calculation
+------------------------------------------+--------------------+
|                          key_buffer_size |          16.000 MB |
|                         query_cache_size |          16.000 MB |
|                  innodb_buffer_pool_size |          64.000 MB |
|          innodb_additional_mem_pool_size |           8.000 MB |
|                   innodb_log_buffer_size |           8.000 MB |
+------------------------------------------+--------------------+
|                              BASE MEMORY |         112.000 MB |
@mjf
mjf / postgres_sql_state_code.conf.toml
Last active August 8, 2022 05:48
Postgres CSV log parser in Telegraf
# TODO: store just basename of the logfiles (in Starlark may be easy)
# TODO: include more information in tags (at least user_name and application_name?)
#
# INPUTS
#
[[inputs.tail]]
name_override = "postgres_sql_state_code"
@mjf
mjf / Postgres random articles.md
Last active October 7, 2022 08:40
Postgres random articles
@mjf
mjf / cpu_cycles_and_instructions_count.conf.toml
Last active June 24, 2022 10:33
Telegraf config to collect per-CPU cycles and instructions
# Telegraf configuration to collect per-CPU cycles and instructions
# using perf(1). You can then calculate CPI / IPC from the metrics.
# If Telegraf is not running as UID 0 (aka "root") you can either use
# sudo(1) with the perf(1) command, raise Telegraf capability, or set
# kernel.perf_event_paranoid = 0. But be warned: "Hic sunt dracones".
[[inputs.exec]]
name_prefix = "cpu_"
@mjf
mjf / telegraf_psi.conf.toml
Created June 23, 2022 07:04
Telegraf configuration to collect Pressure Stall Information (PSI)
# Telegraf configuration to collect Pressure Stall Information (PSI)
[[inputs.file]]
name_override = "pressure_cpu"
# interval = "5s"
files = ["/proc/pressure/cpu"]
data_format = "grok"
grok_patterns = [
"%{NOTSPACE:type:tag} avg10=%{NUMBER:avg10:float} avg60=%{NUMBER:avg60:float} avg300=%{NUMBER:avg300:float} total=%{NUMBER:total:int}"
]
@mjf
mjf / crockford-base32
Last active May 19, 2022 10:55
Encode and Decode Crockford's BASE32 in pure shell
#! /bin/sh
# Encode and decode Crockford's BASE32
# Copyright (C) 2022 Matous Jan Fialka, <https://mjf.cz/>
# Released under the terms of the "MIT" license
# DO NOT USE FOR ANY REASON! This was just for some quick testing.
use() {
printf -- '%s -d <enc> | <dec>\n' "${0##*/}"
@mjf
mjf / percentile_example.sql
Last active April 27, 2022 20:42
Postgres percentile calculation example
with
/* first generate random metric serie for past 1 day, 360 per hour */
series as
(
select
cast(
now() - '1 day'::interval + n*'10 seconds'::interval
as timestamp with time zone
),
n*random()::double precision
@mjf
mjf / Postgres blogs.md
Last active August 12, 2024 08:25
Postgres blogs to visit regularly
@mjf
mjf / mjf.vim
Created February 24, 2022 21:31
.vim/colors/mjf.vim
set background=dark
hi clear
if exists('syntax_on')
syntax reset
endif
let g:colors_name = 'mjf'
hi Normal ctermfg=250