Skip to content

Instantly share code, notes, and snippets.

@simonswine
simonswine / tshark.sh
Last active June 16, 2021 15:55
How to decode GRPC with tshark
# configure protobuf search paths
# ensure you are in a cloned loki root path
cat > ~/.config/wireshark/protobuf_search_paths <<EOF
"$(pwd)/pkg/logproto","TRUE"
"$(pwd)","FALSE"
"$(pwd)/vendor","FALSE"
"/nix/store/drrmxvscqaa6521a46lqwkhhv82qr88g-source/vendor/github.com/gogo/protobuf/protobuf","FALSE"
EOF
# capture and decode 9095 as http2
@simonswine
simonswine / loki.river
Created May 24, 2023 09:20
Grafana Agent Flow config for forwarding logs
logging {
level = "info"
format = "logfmt"
}
discovery.kubernetes "pods" {
role = "pod"
}
discovery.relabel "local_pods" {
@simonswine
simonswine / phlare.py
Created June 12, 2023 16:06
Open Phlare symobls with panda
import pandas as pd
block = '01H2FK73D796PRDR32PGGMKV2H/'
mappings = pd.read_parquet(block+'mappings.parquet', engine='pyarrow')
strings = pd.read_parquet(block+'strings.parquet', engine='pyarrow')
locations = pd.read_parquet(block+'locations.parquet', engine='pyarrow')
stacktraces = pd.read_parquet(block+'stacktraces.parquet', engine='pyarrow')
functions = pd.read_parquet(block+'functions.parquet', engine='pyarrow')
def resolve_strings(df, columns=[]):
let
blue = "000096";
white = "ffffff";
green = "009600";
orange = "ff7700";
dark-orange = "803500";
red = "ff0000";
in
''
g logo ${white}
@simonswine
simonswine / scale-down-controlled.sh
Created February 5, 2025 10:28
A little script to scale down a stateful set one by one
#!/usr/bin/env bash
# This script scales down a stateful set in a controlled way one by one.
set -euo pipefail
set -x
KUBERNETES_CONTEXT=${KUBERNETES_CONTEXT:-dev-us-central-0}
KUBERNETES_NAMESPACE=${KUBERNETES_NAMESPACE:-fire-dev-001}