git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC PATCH v3 3/3] trace2: write overload message to sentinel files

From
JHJeff Hostetler <git@jeffhostetler.com>
Date
Sep 16, 2019, 14:11 UTC
Message-ID
<4aa3022d-743b-2ff6-8a8b-9cd9dc8692a2@jeffhostetler.com>
In-Reply-To
<2bb4edc6-f35c-e1e2-7957-17fd994707a0@gmail.com>
On 9/16/2019 8:07 AM, Derrick Stolee wrote:
Show 33 quoted lines
> On 9/13/2019 8:26 PM, Josh Steadmon wrote:
>> Add a new "overload" event type for trace2 event destinations. Write
>> this event into the sentinel file created by the trace2.maxFiles
>> feature. Bump up the event format version since we've added a new event
>> type.
>>
>> Writing this message into the sentinel file is useful for tracking how
>> often the overload protection feature is triggered in practice.
> 
> Putting meaningful data into the sentinel file is valuable. It's
> important to know a bit about when and why this happened. A user
> would be able to inspect the modified time, and the directory info
> you include is unnecessary. The data you include is only for the
> log aggregator to keep valuable data around overloads.
>   
>> +`"overload"`::
>> +	This event is created in a sentinel file if we are overloading a target
>> +	trace directory (see the trace2.maxFiles config option).
>> ++
>> +------------
>> +{
>> +	"event":"overload",
>> +	...
>> +	"dir":"/trace/target/dir/", # The configured trace2 target directory
>> +	"evt":"2",		    # EVENT format version
>> +}
> That said, do we really need to resort to a new event format and
> event type? Could we instead use the "data" event with a key
> "overload" and put the target dir in the value?
> 
> Thanks,
> -Stolee
> 

If I understand the code here, the overload event/message is only written to the sentinel file -- it is not written to a regular trace2 log file, so regular log file consumers will never see this event, right?

That message could be in any format, right? And you could write as much or as little data into the sentinel file as you want.

There's no compelling reason to extend the existing trace2 format to have a new message type, so I'm not seeing a reason to add the event-type nor to increment the version number.

The existing trace2 formats and messages/event-types are defined and driven by the Trace2 API calls presented to upper layers (consumers of the public trace2_*() functions and macros defined in trace2.h). This overload event doesn't fit that model.

I think it'd be better to just directly write() a message -- in plain-text or JSON or whatever -- in tr2_create_sentinel() and not try to piggy-back on the existing format machinery in the tr2_tgt_*.c files.

Jeff
Previous: Derrick StoleeNext: Josh Steadmon
Message 21 of 40 in “trace2: don't overload target directories”
  1. trace2: don't overload target directoriesJosh Steadmon, Jul 29, 2019
  2. Derrick StoleeJul 30, 2019
  3. Josh SteadmonJul 30, 2019
  4. Jeff HostetlerJul 30, 2019
  5. Josh SteadmonJul 30, 2019
  6. Josh SteadmonJul 30, 2019
  7. Jeff HostetlerJul 30, 2019
  8. Josh SteadmonJul 30, 2019
  9. 0/2 trace2: don't overload target directoriesJosh Steadmon, Aug 2, 2019
  10. 1/2 docs: mention trace2 target-dir mode in git-configJosh Steadmon, Aug 2, 2019
  11. 2/2 trace2: don't overload target directoriesJosh Steadmon, Aug 2, 2019
  12. Jeff HostetlerAug 5, 2019
  13. Josh SteadmonAug 5, 2019
  14. SZEDER GáborAug 5, 2019
  15. Josh SteadmonAug 5, 2019
  16. 0/3 trace2: don't overload target directoriesJosh Steadmon, Sep 14, 2019
  17. 1/3 docs: mention trace2 target-dir mode in git-configJosh Steadmon, Sep 14, 2019
  18. 2/3 trace2: don't overload target directoriesJosh Steadmon, Sep 14, 2019
  19. 3/3 trace2: write overload message to sentinel filesJosh Steadmon, Sep 14, 2019
  20. Derrick StoleeSep 16, 2019
  21. Jeff HostetlerSep 16, 2019
  22. Josh SteadmonSep 16, 2019
  23. Jeff HostetlerSep 19, 2019
  24. Josh SteadmonSep 19, 2019
  25. Jeff HostetlerSep 20, 2019
  26. Josh SteadmonSep 16, 2019
  27. 0/4 trace2: don't overload target directoriesJosh Steadmon, Oct 3, 2019
  28. 1/4 docs: mention trace2 target-dir mode in git-configJosh Steadmon, Oct 3, 2019
  29. 2/4 docs: clarify trace2 version invariantsJosh Steadmon, Oct 3, 2019
  30. 3/4 trace2: don't overload target directoriesJosh Steadmon, Oct 3, 2019
  31. Junio C HamanoOct 4, 2019
  32. Josh SteadmonOct 4, 2019
  33. Johannes SchindelinOct 4, 2019
  34. Josh SteadmonOct 4, 2019
  35. 4/4 trace2: write overload message to sentinel filesJosh Steadmon, Oct 3, 2019
  36. 0/4 trace2: discard new traces if the target directory contains too many filesJosh Steadmon, Oct 4, 2019
  37. 1/4 docs: mention trace2 target-dir mode in git-configJosh Steadmon, Oct 4, 2019
  38. 2/4 docs: clarify trace2 version invariantsJosh Steadmon, Oct 4, 2019
  39. 3/4 trace2: discard new traces if target directory has too many filesJosh Steadmon, Oct 4, 2019
  40. 4/4 trace2: write discard message to sentinel filesJosh Steadmon, Oct 4, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.