HackToTech

Hack To Technology

GC本を読んで学ぶ1

ガベージコレクション: 自動的メモリ管理を構成する理論と実装を積ん読していたので消化するために前に読んでたメモをとりあえず残す 第一章 動的なメモリ割り当てを利用することによって、コンパイル時に総サイズがわからないオブジェクトでも割り付けたり…

AWS Batchのexporterを書いてみた

久しぶりのブログ更新 ここ最近読書によるインプット過多で全然アウトプットしていないので久しぶりにまともなものを書く golangの勉強がてら書いてみたので見る人が見たら酷いかもしれない シンプルにそれぞれのStateのJobをメトリクスとして取得してみた Q…

特定のIAMロールで実行できるSystemsManagerのドキュメントを制限する方法

特定のIAMロールで実行できるSystemsManagerのドキュメントを制限する方法 今後もまた実装したくなることがありそうなので、残しとく 結論から言うと大体下のようなIAM Policyで制限をかけることが可能 { "Version": "2012-10-17", "Statement": [ { "Effect…

IAMで特定のロールからのみAsuume Roleをさせる方法

IAMで特定のロールからのみAsuume Roleをさせる方法 Assume元を再作成した場合にも出来るようにしたくて試行錯誤したついでにメモを残す Principalを使用する方法 公式にも書いてある方法 基本的に一番よく使うのはこれだと思う { "Version": "2012-10-17", …

BPF本を読みながら学ぶ10

bpf

BPF本を読みながら学ぶ10 10章、ネットワークについて 割と知らない単語があって調べるのに苦労した 後半はbpftraceを用いたツールの説明が多い 目次 用語 ネットワークのパフォーマンス分析 ss ip nstat netstat nicstat ethtool 用語 Queueing Discipline(…

BPF本を読みながら学ぶ9

bpf

9章、 ディスクI/Oについて 目次 blkparse rwbs I/Oスケジューラ ディスクI/Oのパフォーマンス分析 blktrace biotop blkparse Trace Actions 説明 C Complete 以前に発行したリクエストが完了した D Issued ブロックレイヤーのキューまたはI/Oスケジューラに…

BPF本を読みながら学ぶ8

bpf

8章、 ファイルシステムについて 目次 用語 ファイルシステムのキャッシュ ディスクのパフォーマンス分析 df mount fatrace statsnoop syncsnoop filelife vfscount fileslower filetop dcstat dcsnoop mountsnoop ext4dist 用語 Read Ahead シーケンシャル…

BPF本を読みながら学ぶ7

bpf

7章、 メモリについて 仮想・物理のそれぞれについて理解がまた一段と深まった 昔作ったメモリリークアプリが役に立ったのが地味に嬉しい 目次 用語 メモリのパフォーマンス分析 swapon ps pmap sar oomkill memleak shmsnoop drsnoop 用語 backed by disk デ…

BPF本を読みながら学ぶ6

bpf

6章、 CPUについて及びCPUに関連するBCC 目次 CPU CPUのパフォーマンス分析 Perf-Stat 用語 runqslower cpudist offcputime syscount softirqs hardirqs llcstat CPU CPUについては、詳解システムパフォーマンスで学んだことの復習になる スレッドの状態 On-…

BPF本を読みながら学ぶ5

bpf

5章、他観測ツールとの比較, インストール方法, それぞれのProbeに対しての解説, 内部動作についてみたいな感じ 何かやりたいときに参照することが多そう、手を動かした部分はあまりなかったので短め 目次 USDT Probe USDT Probe 読んでて試したくなったので…

BPF本を読みながら学ぶ4

bpf

4章、BCCとその機能に関しての紹介が主な感じだった 目次 funccount stackcount trace argdist funccount パターンにマッチしたファンクション、トレースポイント、USDTプローブの呼び出しをカウントする 頻度の高いイベントを参照させるとオーバーヘッドが…

BPF本を読みながら学ぶ3

bpf

ドリルダウンやUSEメソッドなど実際にどのようにパフォーマンスを改善するかを考えていく また、非BPFのツールとBPFのツールの説明など 目次 uptime dmesg vmstat mpstat pidstat iostat free sar top ext4slower biosnoop cachestat tcpconnect tcpaccept t…

BPF本を読みながら学ぶ2

bpf

probeとかカーネルに関しての知識が浅すぎてとても難しい2章だった 目次 bitesize bpftool perf list vfsstat gethostlatency tcplife USDT probe bitesize ブロックデバイスのI/Oサイズをヒストグラムとして要約する 要求されたブロックサイズのI/O分布をプ…

BPF本を読みながら学ぶ1

bpf

極力本の内容をまとめるというよりは、実際に手を動かして調べた内容を残す 環境はUbuntu18.04 目次 execsnoop biolatency syscalls:sys_enter_open, syscalls:sys_enter_openat execsnoop execve()システムコール(exec()システムコール)をトレースする fork…