SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
High Performance Logging 
Good bye debug logging 
Peter Lawrey 
CEO and Principal Consultant 
Higher Frequency Trading. 
Presentation to JDD 2014 Krakow, October 2014.
About Us… 
Higher Frequency Trading is a small 
consulting and software development house 
specialising in: 
• Low latency, high throughput software 
• 6 developers + 2 staff in Europe and USA. 
• Sponsor HFT related open source projects 
• Core Java engineering
About Me… 
• CEO and Principal Consultant 
• 3rd on Stackoverflow for Java, most Java 
Performance answers. 
• Founder of the Performance Java User's 
Group 
• An Australian, based in the U.K.
What Is The Problem We Solve? 
"I want to be able to read and write my 
data to a persisted, distributed system, 
with the speed of in memory data 
structures"
Chronicle scales Vertically and Horizontally 
If you could log everything fast enough 
would you need logging levels? 
Would there be such a thing as Debug level 
logging?
Chronicle scaling Vertically and Horizontally 
l Shares data structure between processes 
l Replication between machines 
l Build on a low level library Java Lang. 
l Millions of operations per second. 
l Micro-second latency. No TCP locally. 
l Synchronous logging to the OS. 
l Apache 2.0 available on GitHub 
l Persisted via the OS.
What is Chronicle Logger? 
l Logging Adapters for Chronicle Queue. 
l Synchronous logging avoids lost messages on a crash. 
l Similar speed to Log4j2 using asynchronous logging 
l Designed to be read in real time by other JVMs 
(with a micro-seconds) 
l Can be distributed over TCP and aggregated for 
centralized monitoring. 
l Apache 2.0 open source library
What is Chronicle Queue? 
l Low latency journaling and logging. 
l Low latency cross JVM communication. 
l Designed for reactive programming 
l Throughputs up to 40 million/second. 
l Latencies between processes of 200 nano-seconds. 
l Sustain rates of 400 MB/s, peaks much higher. 
l Replication via TCP. 
l Apache 2.0 open source library. 
l Pure Java, supported on Windows, Linux, Mac OSX.
What is Chronicle Map/Set? 
l Low latency persisted key-value store. 
l ConcurrentMap or Set interface 
l Latency between processes around 200 ns. 
l In specialized cases, latencies < 25 ns. 
l Designed for reactive programming 
l Throughputs up to 30 million/second. 
l Sustain rates of 400 MB/s, peaks much higher. 
l Replication via TCP and UDP. 
l Apache 2.0 open source library. 
l Pure Java, supported on Windows, Linux, Mac OSX.
Chronicle monitoring a legacy application
Chronicle journalling multiple applications
What is Chronicle Logger? 
slf4j.chronicle.base = ${java.io.tmpdir}/vanilla/${today} 
slf4j.chronicle.type = vanilla 
slf4j.chronicle.path = ${slf4j.chronicle.base}/root 
slf4j.chronicle.level = debug 
slf4j.chronicle.shortName = false 
slf4j.chronicle.append = false 
slf4j.chronicle.format = binary 
slf4j.chronicle.binaryMode = formatted
How does Chronicle perform?
How much difference does it make? 
Logging code 
log.info(format string, int, long, double) 
Chronicle Queue code 
logger.startExcerpt(); 
logger.writeLong(System.currentTimeMillis()); 
logger.writeUTFΔ(getThreadName()); 
logger.writeUTFΔ(fmt); 
logger.writeInt(i); 
logger.writeLong(i * 7L); 
logger.writeDouble(i / 16.0); 
logger.finish();
How much difference does it make? 
Without Logger With Logger 
slf4j 1.6 μs 1.4 μs 
logback 55 μs 1.7 μs 
Log4j v1 7.6 μs 4.6 μs 
Log4j v2 2.7 μs 1.4 μs 
Chronicle Queue 32 threads 
1 thread 
0.026 μs 
0.3 μs 
Tested with 32 threads. Chronicle Queue shows better 
concurrency giving a lower average latency. 
Chronicle Logger can give you much of the benefit of 
Chronicle Queue without having to change your code.
Q & A 
http://openhft.net/ 
Performance Java User's Group. 
@PeterLawrey 
peter.lawrey@higherfrequencytrading.com

Weitere ähnliche Inhalte

Was ist angesagt?

Writing External Rsyslog Plugins
Writing External Rsyslog PluginsWriting External Rsyslog Plugins
Writing External Rsyslog PluginsRainer Gerhards
 
Zeromq anatomy & jeromq
Zeromq anatomy & jeromqZeromq anatomy & jeromq
Zeromq anatomy & jeromqDongmin Yu
 
Intro to GO (Bangkok Launchpad 2014)
Intro to GO (Bangkok Launchpad 2014)Intro to GO (Bangkok Launchpad 2014)
Intro to GO (Bangkok Launchpad 2014)Matthew Campbell
 
HTTP2 and gRPC
HTTP2 and gRPCHTTP2 and gRPC
HTTP2 and gRPCGuo Jing
 
ZeroMQ: Super Sockets - by J2 Labs
ZeroMQ: Super Sockets - by J2 LabsZeroMQ: Super Sockets - by J2 Labs
ZeroMQ: Super Sockets - by J2 LabsJames Dennis
 
Using Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfileUsing Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfileRainer Gerhards
 
Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t...
 Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t... Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t...
Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t...AboutYouGmbH
 
Overview of ZeroMQ
Overview of ZeroMQOverview of ZeroMQ
Overview of ZeroMQpieterh
 
Nmap 9 truth "Nothing to say any more"
Nmap 9 truth "Nothing to say  any more"Nmap 9 truth "Nothing to say  any more"
Nmap 9 truth "Nothing to say any more"abend_cve_9999_0001
 
Introduction to ZeroMQ - eSpace TechTalk
Introduction to ZeroMQ - eSpace TechTalkIntroduction to ZeroMQ - eSpace TechTalk
Introduction to ZeroMQ - eSpace TechTalkMahmoud Said
 
Bringing Learnings from Googley Microservices with gRPC - Varun Talwar, Google
Bringing Learnings from Googley Microservices with gRPC - Varun Talwar, GoogleBringing Learnings from Googley Microservices with gRPC - Varun Talwar, Google
Bringing Learnings from Googley Microservices with gRPC - Varun Talwar, GoogleAmbassador Labs
 
Socket Programming using Java
Socket Programming using JavaSocket Programming using Java
Socket Programming using JavaRahul Hada
 
Node.js for Rubists
Node.js for RubistsNode.js for Rubists
Node.js for RubistsSagiv Ofek
 

Was ist angesagt? (20)

Fun with TCP Packets
Fun with TCP PacketsFun with TCP Packets
Fun with TCP Packets
 
Writing External Rsyslog Plugins
Writing External Rsyslog PluginsWriting External Rsyslog Plugins
Writing External Rsyslog Plugins
 
Experimental dtrace
Experimental dtraceExperimental dtrace
Experimental dtrace
 
ZeroMQ with NodeJS
ZeroMQ with NodeJSZeroMQ with NodeJS
ZeroMQ with NodeJS
 
Zeromq anatomy & jeromq
Zeromq anatomy & jeromqZeromq anatomy & jeromq
Zeromq anatomy & jeromq
 
Intro to GO (Bangkok Launchpad 2014)
Intro to GO (Bangkok Launchpad 2014)Intro to GO (Bangkok Launchpad 2014)
Intro to GO (Bangkok Launchpad 2014)
 
HTTP2 and gRPC
HTTP2 and gRPCHTTP2 and gRPC
HTTP2 and gRPC
 
rspamd-hyperscan
rspamd-hyperscanrspamd-hyperscan
rspamd-hyperscan
 
rspamd-slides
rspamd-slidesrspamd-slides
rspamd-slides
 
ZeroMQ: Super Sockets - by J2 Labs
ZeroMQ: Super Sockets - by J2 LabsZeroMQ: Super Sockets - by J2 Labs
ZeroMQ: Super Sockets - by J2 Labs
 
rspamd-fosdem
rspamd-fosdemrspamd-fosdem
rspamd-fosdem
 
Using Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfileUsing Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfile
 
Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t...
 Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t... Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t...
Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t...
 
Overview of ZeroMQ
Overview of ZeroMQOverview of ZeroMQ
Overview of ZeroMQ
 
Nmap 9 truth "Nothing to say any more"
Nmap 9 truth "Nothing to say  any more"Nmap 9 truth "Nothing to say  any more"
Nmap 9 truth "Nothing to say any more"
 
Introduction to ZeroMQ - eSpace TechTalk
Introduction to ZeroMQ - eSpace TechTalkIntroduction to ZeroMQ - eSpace TechTalk
Introduction to ZeroMQ - eSpace TechTalk
 
Bringing Learnings from Googley Microservices with gRPC - Varun Talwar, Google
Bringing Learnings from Googley Microservices with gRPC - Varun Talwar, GoogleBringing Learnings from Googley Microservices with gRPC - Varun Talwar, Google
Bringing Learnings from Googley Microservices with gRPC - Varun Talwar, Google
 
Kraken mesoscon 2018
Kraken mesoscon 2018Kraken mesoscon 2018
Kraken mesoscon 2018
 
Socket Programming using Java
Socket Programming using JavaSocket Programming using Java
Socket Programming using Java
 
Node.js for Rubists
Node.js for RubistsNode.js for Rubists
Node.js for Rubists
 

Ähnlich wie Jdd2014: High performance logging - Peter Lawrey

Introduction to OpenHFT for Melbourne Java Users Group
Introduction to OpenHFT for Melbourne Java Users GroupIntroduction to OpenHFT for Melbourne Java Users Group
Introduction to OpenHFT for Melbourne Java Users GroupPeter Lawrey
 
Low level java programming
Low level java programmingLow level java programming
Low level java programmingPeter Lawrey
 
Open HFT libraries in @Java
Open HFT libraries in @JavaOpen HFT libraries in @Java
Open HFT libraries in @JavaPeter Lawrey
 
Experiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah WatkinsExperiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah WatkinsCeph Community
 
Streaming Processing with a Distributed Commit Log
Streaming Processing with a Distributed Commit LogStreaming Processing with a Distributed Commit Log
Streaming Processing with a Distributed Commit LogJoe Stein
 
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...Athens Big Data
 
Near Real time Indexing Kafka Messages to Apache Blur using Spark Streaming
Near Real time Indexing Kafka Messages to Apache Blur using Spark StreamingNear Real time Indexing Kafka Messages to Apache Blur using Spark Streaming
Near Real time Indexing Kafka Messages to Apache Blur using Spark StreamingDibyendu Bhattacharya
 
High Frequency Trading and NoSQL database
High Frequency Trading and NoSQL databaseHigh Frequency Trading and NoSQL database
High Frequency Trading and NoSQL databasePeter Lawrey
 
Python and Zope: An introduction (May 2004)
Python and Zope: An introduction (May 2004)Python and Zope: An introduction (May 2004)
Python and Zope: An introduction (May 2004)Kiran Jonnalagadda
 
Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...
Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...
Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...Igalia
 
Introduction to Kafka Streams Presentation
Introduction to Kafka Streams PresentationIntroduction to Kafka Streams Presentation
Introduction to Kafka Streams PresentationKnoldus Inc.
 
Strimzi - Where Apache Kafka meets OpenShift - OpenShift Spain MeetUp
Strimzi - Where Apache Kafka meets OpenShift - OpenShift Spain MeetUpStrimzi - Where Apache Kafka meets OpenShift - OpenShift Spain MeetUp
Strimzi - Where Apache Kafka meets OpenShift - OpenShift Spain MeetUpJosé Román Martín Gil
 
GOTO Night with Todd Montgomery: Aeron: What, why and what next?
GOTO Night with Todd Montgomery: Aeron: What, why and what next?GOTO Night with Todd Montgomery: Aeron: What, why and what next?
GOTO Night with Todd Montgomery: Aeron: What, why and what next?Alexandra Masterson
 
Codeless pipelines with pulsar and flink
Codeless pipelines with pulsar and flinkCodeless pipelines with pulsar and flink
Codeless pipelines with pulsar and flinkTimothy Spann
 
Machine Learning With H2O vs SparkML
Machine Learning With H2O vs SparkMLMachine Learning With H2O vs SparkML
Machine Learning With H2O vs SparkMLArnab Biswas
 
Clustered Architecture Patterns Delivering Scalability And Availability
Clustered Architecture Patterns Delivering Scalability And AvailabilityClustered Architecture Patterns Delivering Scalability And Availability
Clustered Architecture Patterns Delivering Scalability And AvailabilityConSanFrancisco123
 
Scaling with Symfony - PHP UK
Scaling with Symfony - PHP UKScaling with Symfony - PHP UK
Scaling with Symfony - PHP UKRicard Clau
 
Kafka on Pulsar:bringing native Kafka protocol support to Pulsar_Sijie&Pierre
Kafka on Pulsar:bringing native Kafka protocol support to Pulsar_Sijie&PierreKafka on Pulsar:bringing native Kafka protocol support to Pulsar_Sijie&Pierre
Kafka on Pulsar:bringing native Kafka protocol support to Pulsar_Sijie&PierreStreamNative
 
NoSQL afternoon in Japan Kumofs & MessagePack
NoSQL afternoon in Japan Kumofs & MessagePackNoSQL afternoon in Japan Kumofs & MessagePack
NoSQL afternoon in Japan Kumofs & MessagePackSadayuki Furuhashi
 
NoSQL afternoon in Japan kumofs & MessagePack
NoSQL afternoon in Japan kumofs & MessagePackNoSQL afternoon in Japan kumofs & MessagePack
NoSQL afternoon in Japan kumofs & MessagePackSadayuki Furuhashi
 

Ähnlich wie Jdd2014: High performance logging - Peter Lawrey (20)

Introduction to OpenHFT for Melbourne Java Users Group
Introduction to OpenHFT for Melbourne Java Users GroupIntroduction to OpenHFT for Melbourne Java Users Group
Introduction to OpenHFT for Melbourne Java Users Group
 
Low level java programming
Low level java programmingLow level java programming
Low level java programming
 
Open HFT libraries in @Java
Open HFT libraries in @JavaOpen HFT libraries in @Java
Open HFT libraries in @Java
 
Experiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah WatkinsExperiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah Watkins
 
Streaming Processing with a Distributed Commit Log
Streaming Processing with a Distributed Commit LogStreaming Processing with a Distributed Commit Log
Streaming Processing with a Distributed Commit Log
 
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
 
Near Real time Indexing Kafka Messages to Apache Blur using Spark Streaming
Near Real time Indexing Kafka Messages to Apache Blur using Spark StreamingNear Real time Indexing Kafka Messages to Apache Blur using Spark Streaming
Near Real time Indexing Kafka Messages to Apache Blur using Spark Streaming
 
High Frequency Trading and NoSQL database
High Frequency Trading and NoSQL databaseHigh Frequency Trading and NoSQL database
High Frequency Trading and NoSQL database
 
Python and Zope: An introduction (May 2004)
Python and Zope: An introduction (May 2004)Python and Zope: An introduction (May 2004)
Python and Zope: An introduction (May 2004)
 
Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...
Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...
Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...
 
Introduction to Kafka Streams Presentation
Introduction to Kafka Streams PresentationIntroduction to Kafka Streams Presentation
Introduction to Kafka Streams Presentation
 
Strimzi - Where Apache Kafka meets OpenShift - OpenShift Spain MeetUp
Strimzi - Where Apache Kafka meets OpenShift - OpenShift Spain MeetUpStrimzi - Where Apache Kafka meets OpenShift - OpenShift Spain MeetUp
Strimzi - Where Apache Kafka meets OpenShift - OpenShift Spain MeetUp
 
GOTO Night with Todd Montgomery: Aeron: What, why and what next?
GOTO Night with Todd Montgomery: Aeron: What, why and what next?GOTO Night with Todd Montgomery: Aeron: What, why and what next?
GOTO Night with Todd Montgomery: Aeron: What, why and what next?
 
Codeless pipelines with pulsar and flink
Codeless pipelines with pulsar and flinkCodeless pipelines with pulsar and flink
Codeless pipelines with pulsar and flink
 
Machine Learning With H2O vs SparkML
Machine Learning With H2O vs SparkMLMachine Learning With H2O vs SparkML
Machine Learning With H2O vs SparkML
 
Clustered Architecture Patterns Delivering Scalability And Availability
Clustered Architecture Patterns Delivering Scalability And AvailabilityClustered Architecture Patterns Delivering Scalability And Availability
Clustered Architecture Patterns Delivering Scalability And Availability
 
Scaling with Symfony - PHP UK
Scaling with Symfony - PHP UKScaling with Symfony - PHP UK
Scaling with Symfony - PHP UK
 
Kafka on Pulsar:bringing native Kafka protocol support to Pulsar_Sijie&Pierre
Kafka on Pulsar:bringing native Kafka protocol support to Pulsar_Sijie&PierreKafka on Pulsar:bringing native Kafka protocol support to Pulsar_Sijie&Pierre
Kafka on Pulsar:bringing native Kafka protocol support to Pulsar_Sijie&Pierre
 
NoSQL afternoon in Japan Kumofs & MessagePack
NoSQL afternoon in Japan Kumofs & MessagePackNoSQL afternoon in Japan Kumofs & MessagePack
NoSQL afternoon in Japan Kumofs & MessagePack
 
NoSQL afternoon in Japan kumofs & MessagePack
NoSQL afternoon in Japan kumofs & MessagePackNoSQL afternoon in Japan kumofs & MessagePack
NoSQL afternoon in Japan kumofs & MessagePack
 

Kürzlich hochgeladen

Indore ❣️Call Girl 97487*63073 Call Girls in Indore Escort service book now
Indore  ❣️Call Girl 97487*63073 Call Girls in Indore Escort service book nowIndore  ❣️Call Girl 97487*63073 Call Girls in Indore Escort service book now
Indore ❣️Call Girl 97487*63073 Call Girls in Indore Escort service book nowapshanarani255
 
Nagpur ❤CALL GIRL 9874883814 ❤CALL GIRLS IN nagpur ESCORT SERVICE❤CALL GIRL I...
Nagpur ❤CALL GIRL 9874883814 ❤CALL GIRLS IN nagpur ESCORT SERVICE❤CALL GIRL I...Nagpur ❤CALL GIRL 9874883814 ❤CALL GIRLS IN nagpur ESCORT SERVICE❤CALL GIRL I...
Nagpur ❤CALL GIRL 9874883814 ❤CALL GIRLS IN nagpur ESCORT SERVICE❤CALL GIRL I...oyomaster143
 
FARIDABAD CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
FARIDABAD CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICEFARIDABAD CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
FARIDABAD CALL GIRL 7857803690 LOW PRICE ESCORT SERVICEayushi9330
 
Night Service in Karachi | 03274100048 | Sex Girls Karachi
Night Service in Karachi | 03274100048 | Sex Girls KarachiNight Service in Karachi | 03274100048 | Sex Girls Karachi
Night Service in Karachi | 03274100048 | Sex Girls KarachiAwais Yousaf
 
Mysore ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Mysore ESCORT SERVICE❤CALL GIRL
Mysore ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Mysore ESCORT SERVICE❤CALL GIRLMysore ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Mysore ESCORT SERVICE❤CALL GIRL
Mysore ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Mysore ESCORT SERVICE❤CALL GIRLkantirani197
 
Mysore Call girl service 6289102337 Mysore escort service
Mysore Call girl service 6289102337 Mysore escort serviceMysore Call girl service 6289102337 Mysore escort service
Mysore Call girl service 6289102337 Mysore escort servicemaheshsingh64440
 
Girls For Night in Islamabad | 03274100048 🔞
Girls For Night in Islamabad | 03274100048 🔞Girls For Night in Islamabad | 03274100048 🔞
Girls For Night in Islamabad | 03274100048 🔞Ifra Zohaib
 
Call Girls in Sialkot || 🥵👙 || 03280288848
Call Girls in Sialkot || 🥵👙 || 03280288848Call Girls in Sialkot || 🥵👙 || 03280288848
Call Girls in Sialkot || 🥵👙 || 03280288848Ifra Zohaib
 
Shimla 💋 Call Girl 9748763073 Call Girls in Shimla Escort service book now
Shimla 💋  Call Girl 9748763073 Call Girls in Shimla Escort service book nowShimla 💋  Call Girl 9748763073 Call Girls in Shimla Escort service book now
Shimla 💋 Call Girl 9748763073 Call Girls in Shimla Escort service book nowapshanarani255
 
Varanasi Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
Varanasi  Call Girl 78709*93772 Call Girls in Varanasi Escort service book nowVaranasi  Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
Varanasi Call Girl 78709*93772 Call Girls in Varanasi Escort service book nowapshanarani255
 
Call Now ☎9870417354|| Call Girls in Noida Sector 18 Escort Service Noida N.C.R.
Call Now ☎9870417354|| Call Girls in Noida Sector 18 Escort Service Noida N.C.R.Call Now ☎9870417354|| Call Girls in Noida Sector 18 Escort Service Noida N.C.R.
Call Now ☎9870417354|| Call Girls in Noida Sector 18 Escort Service Noida N.C.R.riyadelhic riyadelhic
 
Call Girls In {Connaught Place Delhi} 9667938988 IndianRussian High Profile E...
Call Girls In {Connaught Place Delhi} 9667938988 IndianRussian High Profile E...Call Girls In {Connaught Place Delhi} 9667938988 IndianRussian High Profile E...
Call Girls In {Connaught Place Delhi} 9667938988 IndianRussian High Profile E...aakahthapa70
 
Call Girls in Karachi || 03274100048 || 50+ Hot Sexy Girls Available 24/7
Call Girls in Karachi || 03274100048 || 50+ Hot Sexy Girls Available 24/7Call Girls in Karachi || 03274100048 || 50+ Hot Sexy Girls Available 24/7
Call Girls in Karachi || 03274100048 || 50+ Hot Sexy Girls Available 24/7Sana Rajpoot
 
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book now
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book nowKolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book now
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book nowapshanarani255
 
Jodhpur Call Girl 97487*63073 Call Girls in Jodhpur Escort service book now
Jodhpur  Call Girl 97487*63073 Call Girls in Jodhpur Escort service book nowJodhpur  Call Girl 97487*63073 Call Girls in Jodhpur Escort service book now
Jodhpur Call Girl 97487*63073 Call Girls in Jodhpur Escort service book nowapshanarani255
 
Call Girls in Saket (delhi) call me [9818683771 ] escort service 24X7
Call Girls in Saket (delhi) call me [9818683771 ] escort service 24X7Call Girls in Saket (delhi) call me [9818683771 ] escort service 24X7
Call Girls in Saket (delhi) call me [9818683771 ] escort service 24X7soniya singh
 
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book now
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book nowChennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book now
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book nowapshanarani255
 
NAGPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
NAGPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICENAGPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
NAGPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICEayushi9330
 
BARASAT CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
BARASAT CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICEBARASAT CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
BARASAT CALL GIRL 7857803690 LOW PRICE ESCORT SERVICEayushi9330
 

Kürzlich hochgeladen (20)

Indore ❣️Call Girl 97487*63073 Call Girls in Indore Escort service book now
Indore  ❣️Call Girl 97487*63073 Call Girls in Indore Escort service book nowIndore  ❣️Call Girl 97487*63073 Call Girls in Indore Escort service book now
Indore ❣️Call Girl 97487*63073 Call Girls in Indore Escort service book now
 
Nagpur ❤CALL GIRL 9874883814 ❤CALL GIRLS IN nagpur ESCORT SERVICE❤CALL GIRL I...
Nagpur ❤CALL GIRL 9874883814 ❤CALL GIRLS IN nagpur ESCORT SERVICE❤CALL GIRL I...Nagpur ❤CALL GIRL 9874883814 ❤CALL GIRLS IN nagpur ESCORT SERVICE❤CALL GIRL I...
Nagpur ❤CALL GIRL 9874883814 ❤CALL GIRLS IN nagpur ESCORT SERVICE❤CALL GIRL I...
 
➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR
➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR
➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR
 
FARIDABAD CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
FARIDABAD CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICEFARIDABAD CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
FARIDABAD CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
 
Night Service in Karachi | 03274100048 | Sex Girls Karachi
Night Service in Karachi | 03274100048 | Sex Girls KarachiNight Service in Karachi | 03274100048 | Sex Girls Karachi
Night Service in Karachi | 03274100048 | Sex Girls Karachi
 
Mysore ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Mysore ESCORT SERVICE❤CALL GIRL
Mysore ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Mysore ESCORT SERVICE❤CALL GIRLMysore ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Mysore ESCORT SERVICE❤CALL GIRL
Mysore ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Mysore ESCORT SERVICE❤CALL GIRL
 
Mysore Call girl service 6289102337 Mysore escort service
Mysore Call girl service 6289102337 Mysore escort serviceMysore Call girl service 6289102337 Mysore escort service
Mysore Call girl service 6289102337 Mysore escort service
 
Girls For Night in Islamabad | 03274100048 🔞
Girls For Night in Islamabad | 03274100048 🔞Girls For Night in Islamabad | 03274100048 🔞
Girls For Night in Islamabad | 03274100048 🔞
 
Call Girls in Sialkot || 🥵👙 || 03280288848
Call Girls in Sialkot || 🥵👙 || 03280288848Call Girls in Sialkot || 🥵👙 || 03280288848
Call Girls in Sialkot || 🥵👙 || 03280288848
 
Shimla 💋 Call Girl 9748763073 Call Girls in Shimla Escort service book now
Shimla 💋  Call Girl 9748763073 Call Girls in Shimla Escort service book nowShimla 💋  Call Girl 9748763073 Call Girls in Shimla Escort service book now
Shimla 💋 Call Girl 9748763073 Call Girls in Shimla Escort service book now
 
Varanasi Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
Varanasi  Call Girl 78709*93772 Call Girls in Varanasi Escort service book nowVaranasi  Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
Varanasi Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
 
Call Now ☎9870417354|| Call Girls in Noida Sector 18 Escort Service Noida N.C.R.
Call Now ☎9870417354|| Call Girls in Noida Sector 18 Escort Service Noida N.C.R.Call Now ☎9870417354|| Call Girls in Noida Sector 18 Escort Service Noida N.C.R.
Call Now ☎9870417354|| Call Girls in Noida Sector 18 Escort Service Noida N.C.R.
 
Call Girls In {Connaught Place Delhi} 9667938988 IndianRussian High Profile E...
Call Girls In {Connaught Place Delhi} 9667938988 IndianRussian High Profile E...Call Girls In {Connaught Place Delhi} 9667938988 IndianRussian High Profile E...
Call Girls In {Connaught Place Delhi} 9667938988 IndianRussian High Profile E...
 
Call Girls in Karachi || 03274100048 || 50+ Hot Sexy Girls Available 24/7
Call Girls in Karachi || 03274100048 || 50+ Hot Sexy Girls Available 24/7Call Girls in Karachi || 03274100048 || 50+ Hot Sexy Girls Available 24/7
Call Girls in Karachi || 03274100048 || 50+ Hot Sexy Girls Available 24/7
 
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book now
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book nowKolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book now
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book now
 
Jodhpur Call Girl 97487*63073 Call Girls in Jodhpur Escort service book now
Jodhpur  Call Girl 97487*63073 Call Girls in Jodhpur Escort service book nowJodhpur  Call Girl 97487*63073 Call Girls in Jodhpur Escort service book now
Jodhpur Call Girl 97487*63073 Call Girls in Jodhpur Escort service book now
 
Call Girls in Saket (delhi) call me [9818683771 ] escort service 24X7
Call Girls in Saket (delhi) call me [9818683771 ] escort service 24X7Call Girls in Saket (delhi) call me [9818683771 ] escort service 24X7
Call Girls in Saket (delhi) call me [9818683771 ] escort service 24X7
 
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book now
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book nowChennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book now
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book now
 
NAGPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
NAGPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICENAGPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
NAGPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
 
BARASAT CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
BARASAT CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICEBARASAT CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
BARASAT CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
 

Jdd2014: High performance logging - Peter Lawrey

  • 1. High Performance Logging Good bye debug logging Peter Lawrey CEO and Principal Consultant Higher Frequency Trading. Presentation to JDD 2014 Krakow, October 2014.
  • 2. About Us… Higher Frequency Trading is a small consulting and software development house specialising in: • Low latency, high throughput software • 6 developers + 2 staff in Europe and USA. • Sponsor HFT related open source projects • Core Java engineering
  • 3. About Me… • CEO and Principal Consultant • 3rd on Stackoverflow for Java, most Java Performance answers. • Founder of the Performance Java User's Group • An Australian, based in the U.K.
  • 4. What Is The Problem We Solve? "I want to be able to read and write my data to a persisted, distributed system, with the speed of in memory data structures"
  • 5. Chronicle scales Vertically and Horizontally If you could log everything fast enough would you need logging levels? Would there be such a thing as Debug level logging?
  • 6. Chronicle scaling Vertically and Horizontally l Shares data structure between processes l Replication between machines l Build on a low level library Java Lang. l Millions of operations per second. l Micro-second latency. No TCP locally. l Synchronous logging to the OS. l Apache 2.0 available on GitHub l Persisted via the OS.
  • 7. What is Chronicle Logger? l Logging Adapters for Chronicle Queue. l Synchronous logging avoids lost messages on a crash. l Similar speed to Log4j2 using asynchronous logging l Designed to be read in real time by other JVMs (with a micro-seconds) l Can be distributed over TCP and aggregated for centralized monitoring. l Apache 2.0 open source library
  • 8. What is Chronicle Queue? l Low latency journaling and logging. l Low latency cross JVM communication. l Designed for reactive programming l Throughputs up to 40 million/second. l Latencies between processes of 200 nano-seconds. l Sustain rates of 400 MB/s, peaks much higher. l Replication via TCP. l Apache 2.0 open source library. l Pure Java, supported on Windows, Linux, Mac OSX.
  • 9. What is Chronicle Map/Set? l Low latency persisted key-value store. l ConcurrentMap or Set interface l Latency between processes around 200 ns. l In specialized cases, latencies < 25 ns. l Designed for reactive programming l Throughputs up to 30 million/second. l Sustain rates of 400 MB/s, peaks much higher. l Replication via TCP and UDP. l Apache 2.0 open source library. l Pure Java, supported on Windows, Linux, Mac OSX.
  • 10. Chronicle monitoring a legacy application
  • 12. What is Chronicle Logger? slf4j.chronicle.base = ${java.io.tmpdir}/vanilla/${today} slf4j.chronicle.type = vanilla slf4j.chronicle.path = ${slf4j.chronicle.base}/root slf4j.chronicle.level = debug slf4j.chronicle.shortName = false slf4j.chronicle.append = false slf4j.chronicle.format = binary slf4j.chronicle.binaryMode = formatted
  • 13. How does Chronicle perform?
  • 14. How much difference does it make? Logging code log.info(format string, int, long, double) Chronicle Queue code logger.startExcerpt(); logger.writeLong(System.currentTimeMillis()); logger.writeUTFΔ(getThreadName()); logger.writeUTFΔ(fmt); logger.writeInt(i); logger.writeLong(i * 7L); logger.writeDouble(i / 16.0); logger.finish();
  • 15. How much difference does it make? Without Logger With Logger slf4j 1.6 μs 1.4 μs logback 55 μs 1.7 μs Log4j v1 7.6 μs 4.6 μs Log4j v2 2.7 μs 1.4 μs Chronicle Queue 32 threads 1 thread 0.026 μs 0.3 μs Tested with 32 threads. Chronicle Queue shows better concurrency giving a lower average latency. Chronicle Logger can give you much of the benefit of Chronicle Queue without having to change your code.
  • 16. Q & A http://openhft.net/ Performance Java User's Group. @PeterLawrey peter.lawrey@higherfrequencytrading.com