fabric3
Content
Documentation
Developer Reference
Monitoring and Logging
Monitoring and Logging
search
attachments
weblink
advanced
image-effects
image-attributes
Paragraph
Paragraph
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Preformatted
Quote
Bold
Italic
Underline
Colour picker
More colours
Formatting
Strikethrough
Subscript
Superscript
Monospace
Clear formatting
Bullet list
Numbered list
Task list
Outdent
Indent
Align left
Align center
Align right
Page layout
Link
Table
Insert
Insert content
Files and images
Link
Symbol
Emoticon
Markup
Horizontal rule
Insert macro
User mention
Jira Issue/Filter
Info
Status
Gallery
Table of Contents
Jira timeline
Lucidchart Diagrams
Trello Board
Other macros
Page layout
No layout
Two column (simple)
Two column (simple, left sidebar)
Two column (simple, right sidebar)
Three column (simple)
Two column
Two column (left sidebar)
Two column (right sidebar)
Three column
Three column (left and right sidebars)
Find/Replace
Keyboard shortcuts help
You are not logged in. Any changes you make will be marked as
anonymous
. You may want to
Log In
if you already have an account.
<p>Applications deployed on Fabric3 can take advantage of its built-in injection-based monitoring framework for logging and recording application events. The monitoring framework offers a number of benefits:</p><ul><li>Strongly-typed monitoring interfaces and events</li><li>High performance logging (millions of events per second) with no garbage creation for latency-sensitive appications</li><li>Dynamic event level adjustment</li></ul><p> </p><table class="wysiwyg-macro" data-macro-name="info" data-macro-parameters="title=Why Fabric3 Uses Its Own Monitor Implementation" data-macro-schema-version="1" style="background-image: url(https://fabric3.atlassian.net/wiki/plugins/servlet/confluence/placeholder/macro-heading?definition=e2luZm86dGl0bGU9V2h5IEZhYnJpYzMgVXNlcyBJdHMgT3duIE1vbml0b3IgSW1wbGVtZW50YXRpb259&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="RICH_TEXT"><tr><td class="wysiwyg-macro-body"><p>You may be wondering why the Fabric3 Standalone and Tomcat runtimes use a proprietary monitor implementation as opposed to a third-party logging library. The reason is performance and excessive object creation. Many applications running on Fabric3 have very low latency requirements. This means that a monitoring solution must be capable of routing events extremely quickly (i.e. microsecond latencies to disk) without creating objects. The common third-party logging libraries we examined all suffered from thread contention and, more importantly, excessive object creation which leads to GC pauses under load. The Fabric3 monitor implementation can be configured to use the LMAX Disruptor to alleviate contention and avoid object creation altogether, resulting in stable operation with no GC (even minor collections) under load. </p></td></tr></table><p> </p><p>The Following sections cover the Fabric3 monitor framework.</p><p><img class="editor-inline-macro" src="https://fabric3.atlassian.net/wiki/plugins/servlet/confluence/placeholder/macro?definition=e3BhZ2V0cmVlOnJvb3Q9QHNlbGZ9&locale=en_GB&version=2" data-macro-name="pagetree" data-macro-parameters="root=@self" data-macro-schema-version="1"></p>
Save
Close
Edit
Preview
View changes
Revert to last published version
{"serverDuration": 351, "requestCorrelationId": "cdcd52a900954b7ba962595289b334d3"}