Tanel Poder
banner
tanelpoder.com
Tanel Poder
@tanelpoder.com
Creator of https://0x.tools, also a long-time computer performance geek. Perf & troubleshooting blog: tanelpoder.com. All onions are mine.
(3 days left until the end of Black Friday Sale of my online training courses!)

Also, an old post for Oracle nerds:

"Oracle Shared Pool Internals: List Chunk Position in the LRU List"

tanelpoder.com/posts/oracle...
November 28, 2025 at 7:14 PM
Added a blog update about the V$PROCESS_MEMORY_DETAIL auto-population for processes with PGA growth to over 500MB. Enabled in Oracle 19.18+, so no "oradebug dump pga_get_detail" needed, just query the V$ views for a detailed "heapdump":

tanelpoder.com/2014/03/26/o...
November 10, 2025 at 6:29 AM
New scripts: vstat.sql & dstat.sql for showing Oracle Sysmetric history with 1-minute granularity (both from AWR and regular V$ views)

tanelpoder.com/posts/oracle...
November 10, 2025 at 5:52 AM
Also just fixed a "bug" in my yesterday's writing - it was late and I had picked a number from a wrong column for one explanation! :-)

And that's exactly why I added the computed "optimizer cardinality misestimate" column to my XB scripts, so I wouldn't have to do such lookups & math manually.
November 3, 2025 at 3:59 PM
New blog: xb.sql and xbi.sql - Explain Oracle Execution Plans Better! (Part 3 - Cardinality Misestimates)

tanelpoder.com/posts/xb-sql...
November 3, 2025 at 7:48 AM
I just extended the Black Friday sale to the whole month of November!

All my existing full-week flagship courses are heavily discounted for the entire month, and more content coming soon!

tanelpoder.com/posts/black-...
November 2, 2025 at 9:45 PM
For example, this screenshot aggregates samples from an 1-hour range (by default, configurable with command line options) and you can toggle that yellow highlighted window with "w" and move with "[ ]" currently hardcoded width at 5min (but will be adjustable soon) 😎

tanelpoder.com/posts/xcaptu...
October 29, 2025 at 1:46 AM
Previously on this show: Find which Oracle SQL_ID hits the SQL*Net break/reset to client event

tanelpoder.com/posts/find-w...
October 24, 2025 at 1:30 PM
Previously on this show: SQL Plan Execution FlameGraphs with Loop and Row Counts

tanelpoder.com/posts/sql-pl...
October 24, 2025 at 1:27 PM
😎
October 23, 2025 at 3:10 PM
Announcing my new Oracle Optimizer, Partitioning and I/O-Intensive Database Handling Deep Dive Training!

If you run serious Oracle workloads on-premises or in the cloud and want to learn some practical *and* new things this year, this is it!

tanelpoder.com/posts/new-or...
October 22, 2025 at 10:42 AM
There's a new Data Guard in town (not the Oracle one). Cool to see Linkedin, OpenAI and Anthropic collaborating:

arxiv.org/html/2502.01...
October 22, 2025 at 6:27 AM
Filtering data in real time (at CERN)

After early filtering, this snippet from the article:

"At this stage, the remaining events are recorded to a 40 Petabyte disk buffer."

A 40 PB *buffer* for data 🫠

lhcb-outreach.web.cern.ch/filtering-da...
October 22, 2025 at 3:09 AM
tabhisthybrid.sql: Display Oracle hybrid histograms and filter cardinality estimates

tanelpoder.com/posts/tabhis...
October 20, 2025 at 1:59 PM
pqr.sql: Generate QR Codes with Pure SQL in PostgreSQL

tanelpoder.com/posts/genera...
October 12, 2025 at 1:17 AM
If you have eBPF "biolatency" style IO latency monitoring tools always-on, you might want to reduce its tracepoint CPU overhead by not storing IO start times in a shared hashtable at all.

In my results, 59x lower tracepoint CPU overhead at 37M IOPS 😎

tanelpoder.com/posts/optimi...
September 16, 2025 at 5:32 PM
Already getting good questions about 0x.tools in YouTube!
September 11, 2025 at 6:26 PM
The xCapture and xtop eBPF tools are now in beta, with a demo dataset!

With a pre-recorded xcapture dataset from my dev server, now you can play with xtop "thread activity sampling" drilldown even on your laptop, without having to run xcapture yourself!

(link in replies :-)
September 9, 2025 at 7:13 PM
Something for Linux block I/O nerds - Linux Storage Stack Diagram (up to kernel v6.16) published:

www.thomas-krenn.com/en/wiki/Linu...
August 27, 2025 at 1:56 AM
I have published the CatVector embedding-vector heatmap visualization app (for learning and fun!) as a static webpage now (just browser is enough, no downloads or Python needed).

And now we have dark mode too! 😼

tanelpoder.com/catvector/
August 25, 2025 at 1:32 AM
YouTube helpfully generated a table of contents for my 11 minute demo video of 0x.tools xtop "top for wall clock time" dimensional performance analysis tool. You see I'm talking about multiple topics there (including syscall,TCP,IO latency)

www.youtube.com/watch?v=cZ_z...
August 22, 2025 at 5:24 PM
This is what I'm currently playing with: *Passive sampling* of hardware interrupt stacks with eBPF. With xintr, you'll soon be able to see inside your interrupt activity even on cloud VMs without hardware performance counters and without kernel probe & tracepoint overhead! Demo link in replies.
August 21, 2025 at 8:43 PM
What if I told you that now it's possible to see inside hardware interrupt handling activity, even without PMU access on cloud VMs, without tracing or slowing anything down?

Thanks to passive sampling with eBPF, task iterators and some pointer chasing, this is now a thing 😎
August 19, 2025 at 7:15 PM
As I'm creating new content for my latest online training courses, I just bundled the 2021 "Troubleshooting Very Complex Oracle Performance Problems" videos into the AOT & SQL Tuning courses, without an extra fee; existing attendees will have access too!

learn.tanelpoder.com
August 17, 2025 at 9:54 AM
Achieving 11M IOPS & 66 GiB/s IO on a Single ThreadRipper Workstation.

This post was about I/O & hardware geekery, but if you want to learn some thing about modern "computers are networks" topology and PCIe root complexes and some bottlenecks I hit, check out this:

tanelpoder.com/posts/11m-io...
August 15, 2025 at 7:32 PM