<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Just checking, but are they sure that's what they want? 8-)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">This relates to files from unified logging, like java -Xlog:gc*:file%t.out ...creates: file2025-01-28_21-43-53.out and -Xlog:help says, "If the filename contains %p, %t and/or %hn, they will expand
to the JVM's PID, startup timestamp and host name, respectively."<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">(Administratively, I think unified logging is under the runtime group, cc’d.)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Using the JVM start time, across all log files, identifies the set of files that come from the same process. They will generally sort together when viewing a directory. If a single file gets copied
around, it can still be traced back in its group. When there are multiple sets of logs in the same directory, the sets should still sort together. I see the filename purpose as to identify the log, or set of logs.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Using a new timestamp for each file, the filenames do not identify the files as being part of the same run. They may sort together, but may not if another log series is in the same directory, and
once separated it's hard to regroup them.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Using the pid as well will help, but if we see a lot of low-numbered PIDs then this won't be unique. (With the current startup timestamp, you will probably use %p for pid in the file as well, in
case JVMs start at the same moment.)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Thanks<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Kevin<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> serviceability-dev <serviceability-dev-retn@openjdk.org>
<b>On Behalf Of </b>Kemper, William<br>
<b>Sent:</b> Tuesday, January 28, 2025 7:54 PM<br>
<b>To:</b> serviceability-dev@openjdk.org<br>
<b>Subject:</b> Proposal to change the behavior of the timestamp place holder (%t) in log file paths<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div id="divtagdefaultwrapper">
<p><span style="font-size:12.0pt;color:black">The timestamp place holder in a log filename currently expands to the startup time of the JVM. When the log is rotated, the filename containing this timestamp is suffixed with a file number. My colleagues had expected
the placeholder to be evaluated when the current log file is rotated. They expected the name of each rotated file to indicate the time the file was created. I think this expectation is not unreasonable, so I wanted to discuss the possibility of changing how/when
the timestamp placeholder is evaluated. If there is any appetite for a change like this, I am willing to do the work. I would prefer to sort out the details before coding anything, rather than discussing them in a surprise pull request.<o:p></o:p></span></p>
<p><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
<p><span style="font-size:12.0pt;color:black">Thank you for reading,<o:p></o:p></span></p>
<p><span style="font-size:12.0pt;color:black">William<o:p></o:p></span></p>
</div>
</div>
</body>
</html>