<?xml version="1.0" encoding="UTF-8"?>
 <rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://pinboard.in">
    <title>Pinboard (jm)</title>
    <link>https://pinboard.in/u:jm/public/</link>
    <description>recent bookmarks from jm</description>
    <items>
      <rdf:Seq>	<rdf:li rdf:resource="http://danluu.com/perf-tracing/"/>
	<rdf:li rdf:resource="https://github.com/gquintana/metrics-sql"/>
	<rdf:li rdf:resource="http://blog.librato.com/posts/2014/7/16/metrics-driven-development"/>
	<rdf:li rdf:resource="http://hirt.se/blog/?p=370"/>
	<rdf:li rdf:resource="http://hirt.se/blog/?p=364"/>
	<rdf:li rdf:resource="http://www.jointhegrid.com/highperfcassandra/?p=95"/>
	<rdf:li rdf:resource="https://www.erlang-factory.com/upload/presentations/462/euc2011-draft2.pdf"/>
      </rdf:Seq>
    </items>
  </channel><item rdf:about="http://danluu.com/perf-tracing/">
    <title>The Nyquist theorem and limitations of sampling profilers today, with glimpses of tracing tools from the future</title>
    <dc:date>2016-02-09T12:55:23+00:00</dc:date>
    <link>http://danluu.com/perf-tracing/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Awesome post from Dan Luu with data from Google:

<blockquote>The cause [of some mystery widespread 250ms hangs] was kernel throttling of the CPU for processes that went beyond their usage quota. To enforce the quota, the kernel puts all of the relevant threads to sleep until the next multiple of a quarter second. When the quarter-second hand of the clock rolls around, it wakes up all the threads, and if those threads are still using too much CPU, the threads get put back to sleep for another quarter second. The phase change out of this mode happens when, by happenstance, there aren’t too many requests in a quarter second interval and the kernel stops throttling the threads.  After finding the cause, an engineer found that this was happening on 25% of disk servers at Google, for an average of half an hour a day, with periods of high latency as long as 23 hours. This had been happening for three years. Dick Sites says that fixing this bug paid for his salary for a decade. This is another bug where traditional sampling profilers would have had a hard time. The key insight was that the slowdowns were correlated and machine wide, which isn’t something you can see in a profile.</blockquote>

]]></description>
<dc:subject>debugging performance visualization instrumentation metrics dan-luu latency google dick-sites linux scheduler throttling kernel hangs</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:670193c955f5/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:debugging"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:performance"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:visualization"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:instrumentation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:metrics"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dan-luu"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:latency"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:google"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dick-sites"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:scheduler"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:throttling"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:kernel"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hangs"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/gquintana/metrics-sql">
    <title>metrics-sql</title>
    <dc:date>2015-03-07T21:13:54+00:00</dc:date>
    <link>https://github.com/gquintana/metrics-sql</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>A Dropwizard Metrics extension to instrument JDBC resources and measure SQL execution times.</blockquote>

]]></description>
<dc:subject>metrics sql jdbc instrumentation dropwizard</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:937f107730e0/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:metrics"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sql"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:jdbc"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:instrumentation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dropwizard"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://blog.librato.com/posts/2014/7/16/metrics-driven-development">
    <title>Metrics-Driven Development</title>
    <dc:date>2014-07-22T09:20:12+00:00</dc:date>
    <link>http://blog.librato.com/posts/2014/7/16/metrics-driven-development</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>we believe MDD is equal parts engineering technique and cultural process. It separates the notion of monitoring from its traditional position of exclusivity as an operations thing and places it more appropriately next to its peers as an engineering process. Provided access to real-time production metrics relevant to them individually, both software engineers and operations engineers can validate hypotheses, assess problems, implement solutions, and improve future designs.</blockquote>

Broken down into the following principles: 'Instrumentation-as-Code', 'Single Source of Truth', 'Developers Curate Visualizations and Alerts', 'Alert on What You See', 'Show me the Graph', 'Don’t Measure Everything (YAGNI)'.

We do all of these at Swrve, naturally (a technique I happily stole from Amazon).]]></description>
<dc:subject>metrics coding graphite mdd instrumentation yagni alerting monitoring graphs</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:2bbaac35dc32/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:metrics"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:graphite"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mdd"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:instrumentation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:yagni"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:alerting"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:monitoring"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:graphs"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://hirt.se/blog/?p=370">
    <title>Creating Flight Recordings</title>
    <dc:date>2013-09-14T21:47:49+00:00</dc:date>
    <link>http://hirt.se/blog/?p=370</link>
    <dc:creator>jm</dc:creator><description><![CDATA[lots more detail on the new "Java Mission Control" feature in Hotspot 7u40 JVMs, and how to use it to start and stop profiling in a live, production JVM from a separate "jcmd" command-line client.  If the overhead is small, this could be really neat -- turn on profiling for 1 minute every hour on a single instance, and collect realtime production profile data on an automated basis for post-facto analysis if required]]></description>
<dc:subject>instrumentation logging profiling java jvm ops</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:3f5a76e13a69/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:instrumentation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:logging"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:profiling"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:java"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:jvm"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ops"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://hirt.se/blog/?p=364">
    <title>Low Overhead Method Profiling with Java Mission Control now enabled in the most recent HotSpot JVM release</title>
    <dc:date>2013-09-11T22:21:22+00:00</dc:date>
    <link>http://hirt.se/blog/?p=364</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>Built into the HotSpot JVM [in JDK version 7u40] is something called the Java Flight Recorder. It records a lot of information about/from the JVM runtime, and can be thought of as similar to the Data Flight Recorders you find in modern airplanes. You normally use the Flight Recorder to find out what was happening in your JVM when something went wrong, but it is also a pretty awesome tool for production time profiling. Since Mission Control (using the default templates) normally don’t cause more than a per cent overhead, you can use it on your production server.</blockquote>

I'm intrigued by the idea of always-on profiling in production.  This could be cool.]]></description>
<dc:subject>performance java measurement profiling jvm jdk hotspot mission-control instrumentation telemetry metrics</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:cee0d58c8fe6/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:performance"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:java"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:measurement"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:profiling"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:jvm"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:jdk"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hotspot"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mission-control"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:instrumentation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:telemetry"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:metrics"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.jointhegrid.com/highperfcassandra/?p=95">
    <title>Determining response times with tcprstat</title>
    <dc:date>2011-11-11T08:57:22+00:00</dc:date>
    <link>http://www.jointhegrid.com/highperfcassandra/?p=95</link>
    <dc:creator>jm</dc:creator><description><![CDATA['Tcprstat is a free, open-source TCP analysis tool that watches network traffic and computes the delay between requests and responses. From this it derives response-time statistics and prints them out.'  Computes percentiles, too]]></description>
<dc:subject>tcp tcprstat tcp-ip networking measurement statistics performance instrumentation linux unix tools cli</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:78cc56260920/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tcp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tcprstat"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tcp-ip"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:networking"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:measurement"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:statistics"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:performance"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:instrumentation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://www.erlang-factory.com/upload/presentations/462/euc2011-draft2.pdf">
    <title>DTrace and Erlang</title>
    <dc:date>2011-11-09T13:54:17+00:00</dc:date>
    <link>https://www.erlang-factory.com/upload/presentations/462/euc2011-draft2.pdf</link>
    <dc:creator>jm</dc:creator><description><![CDATA[from Basho, via istvan.  DTrace is becoming more compelling as a deep instrumentation/monitoring API -- I didn't realise disabled DTrace probes were virtually 0-overhead (a "2 NOOP instruction placeholder", apparently), that's nifty.  Wonder if they've fixed the licensing mess, though]]></description>
<dc:subject>dtrace monitoring instrumentation debugging tracing unix erlang via:istvan</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:76d5b3fb1bbf/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dtrace"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:monitoring"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:instrumentation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:debugging"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tracing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:erlang"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:istvan"/>
</rdf:Bag></taxo:topics>
</item>
</rdf:RDF>