<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Jdk25 on tsvinc</title>
		<link>https://tsvinc.dev/tags/jdk25/</link>
		<description>Recent content in Jdk25 on tsvinc</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Sun, 25 Oct 2026 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://tsvinc.dev/tags/jdk25/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Java 25 Changes Your Telemetry in Strings, Not Code</title>
				<link>https://tsvinc.dev/posts/java25-opentelemetry-upgrade/</link>
				<pubDate>Sun, 25 Oct 2026 00:00:00 +0000</pubDate>
				<guid>https://tsvinc.dev/posts/java25-opentelemetry-upgrade/</guid>
				<description>&lt;p&gt;A JDK upgrade gets tested like a runtime change. Does it compile, does it start, did the GC pauses get worse. Telemetry rides along as if it were part of the runtime. In practice it&#39;s a contract written in strings, like &lt;code&gt;jvm.gc.name=&amp;quot;ZGC Pauses&amp;quot;&lt;/code&gt; and &lt;code&gt;jvm.memory.pool.name=&amp;quot;ZHeap&amp;quot;&lt;/code&gt;, and no test suite asserts on a name the JVM makes up at start-up. When those strings change, nothing errors. A panel goes flat, an alert stops firing, and both look exactly like a healthy service.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
