Submit Search
Upload
Instrumenting plugins for Performance Schema
•
2 likes
•
19,717 views
Mark Leith
Follow
Instrumenting plugins for Performance Schema
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 18
Download now
Download to read offline
Recommended
MySQL Monitoring Mechanisms
MySQL Monitoring Mechanisms
Mark Leith
MySQL Administration and Monitoring
MySQL Administration and Monitoring
Mark Leith
Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7
Mark Leith
MySQL for Oracle DBAs
MySQL for Oracle DBAs
Mark Leith
MySQL 5.7: Performance Schema Improvements
MySQL 5.7: Performance Schema Improvements
Mark Leith
Performance schema and_ps_helper
Performance schema and_ps_helper
Mark Leith
Mysql tech day_paris_ps_and_sys
Mysql tech day_paris_ps_and_sys
Mark Leith
Getting to Know MySQL Enterprise Monitor
Getting to Know MySQL Enterprise Monitor
Mark Leith
Recommended
MySQL Monitoring Mechanisms
MySQL Monitoring Mechanisms
Mark Leith
MySQL Administration and Monitoring
MySQL Administration and Monitoring
Mark Leith
Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7
Mark Leith
MySQL for Oracle DBAs
MySQL for Oracle DBAs
Mark Leith
MySQL 5.7: Performance Schema Improvements
MySQL 5.7: Performance Schema Improvements
Mark Leith
Performance schema and_ps_helper
Performance schema and_ps_helper
Mark Leith
Mysql tech day_paris_ps_and_sys
Mysql tech day_paris_ps_and_sys
Mark Leith
Getting to Know MySQL Enterprise Monitor
Getting to Know MySQL Enterprise Monitor
Mark Leith
Developing Information Schema Plugins
Developing Information Schema Plugins
Mark Leith
Introduction to MySQL Enterprise Monitor
Introduction to MySQL Enterprise Monitor
Mark Leith
MySQL Monitoring Mechanisms
MySQL Monitoring Mechanisms
Mark Leith
Performance schema and sys schema
Performance schema and sys schema
Mark Leith
The MySQL SYS Schema
The MySQL SYS Schema
Mark Leith
MySQL's Performance Schema, SYS Schema and Workbench Integration
MySQL's Performance Schema, SYS Schema and Workbench Integration
Mario Beck
Extending MySQL Enterprise Monitor
Extending MySQL Enterprise Monitor
Mark Leith
MySQL sys schema deep dive
MySQL sys schema deep dive
Mark Leith
What's next after Upgrade to 12c
What's next after Upgrade to 12c
Guatemala User Group
MySQL Performance Schema : fossasia
MySQL Performance Schema : fossasia
Mayank Prasad
MySQL Monitoring 101
MySQL Monitoring 101
Ronald Bradford
Oracle Database 12c New Features for Developers and DBAs - OTN TOUR LA 2015
Oracle Database 12c New Features for Developers and DBAs - OTN TOUR LA 2015
Alex Zaballa
Basic MySQL Troubleshooting for Oracle DBAs
Basic MySQL Troubleshooting for Oracle DBAs
Sveta Smirnova
MySQL Enterprise Monitor
MySQL Enterprise Monitor
Mario Beck
Double the Performance of Oracle SOA Suite 11g? Absolutely!
Double the Performance of Oracle SOA Suite 11g? Absolutely!
Revelation Technologies
Enterprise manager 13c
Enterprise manager 13c
MarketingArrowECS_CZ
My sql 5.6&MySQL Cluster 7.3
My sql 5.6&MySQL Cluster 7.3
Oleksii(Alexey) Porytskyi
Oracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAs
Gokhan Atil
OUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source Code
Georgi Kodinov
Southeast Linuxfest -- MySQL User Admin Tips & Tricks
Southeast Linuxfest -- MySQL User Admin Tips & Tricks
Dave Stokes
Upcoming changes in MySQL 5.7
Upcoming changes in MySQL 5.7
Morgan Tocker
MySQL sys schema deep dive
MySQL sys schema deep dive
Mark Leith
More Related Content
What's hot
Developing Information Schema Plugins
Developing Information Schema Plugins
Mark Leith
Introduction to MySQL Enterprise Monitor
Introduction to MySQL Enterprise Monitor
Mark Leith
MySQL Monitoring Mechanisms
MySQL Monitoring Mechanisms
Mark Leith
Performance schema and sys schema
Performance schema and sys schema
Mark Leith
The MySQL SYS Schema
The MySQL SYS Schema
Mark Leith
MySQL's Performance Schema, SYS Schema and Workbench Integration
MySQL's Performance Schema, SYS Schema and Workbench Integration
Mario Beck
Extending MySQL Enterprise Monitor
Extending MySQL Enterprise Monitor
Mark Leith
MySQL sys schema deep dive
MySQL sys schema deep dive
Mark Leith
What's next after Upgrade to 12c
What's next after Upgrade to 12c
Guatemala User Group
MySQL Performance Schema : fossasia
MySQL Performance Schema : fossasia
Mayank Prasad
MySQL Monitoring 101
MySQL Monitoring 101
Ronald Bradford
Oracle Database 12c New Features for Developers and DBAs - OTN TOUR LA 2015
Oracle Database 12c New Features for Developers and DBAs - OTN TOUR LA 2015
Alex Zaballa
Basic MySQL Troubleshooting for Oracle DBAs
Basic MySQL Troubleshooting for Oracle DBAs
Sveta Smirnova
MySQL Enterprise Monitor
MySQL Enterprise Monitor
Mario Beck
Double the Performance of Oracle SOA Suite 11g? Absolutely!
Double the Performance of Oracle SOA Suite 11g? Absolutely!
Revelation Technologies
Enterprise manager 13c
Enterprise manager 13c
MarketingArrowECS_CZ
My sql 5.6&MySQL Cluster 7.3
My sql 5.6&MySQL Cluster 7.3
Oleksii(Alexey) Porytskyi
Oracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAs
Gokhan Atil
OUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source Code
Georgi Kodinov
Southeast Linuxfest -- MySQL User Admin Tips & Tricks
Southeast Linuxfest -- MySQL User Admin Tips & Tricks
Dave Stokes
What's hot
(20)
Developing Information Schema Plugins
Developing Information Schema Plugins
Introduction to MySQL Enterprise Monitor
Introduction to MySQL Enterprise Monitor
MySQL Monitoring Mechanisms
MySQL Monitoring Mechanisms
Performance schema and sys schema
Performance schema and sys schema
The MySQL SYS Schema
The MySQL SYS Schema
MySQL's Performance Schema, SYS Schema and Workbench Integration
MySQL's Performance Schema, SYS Schema and Workbench Integration
Extending MySQL Enterprise Monitor
Extending MySQL Enterprise Monitor
MySQL sys schema deep dive
MySQL sys schema deep dive
What's next after Upgrade to 12c
What's next after Upgrade to 12c
MySQL Performance Schema : fossasia
MySQL Performance Schema : fossasia
MySQL Monitoring 101
MySQL Monitoring 101
Oracle Database 12c New Features for Developers and DBAs - OTN TOUR LA 2015
Oracle Database 12c New Features for Developers and DBAs - OTN TOUR LA 2015
Basic MySQL Troubleshooting for Oracle DBAs
Basic MySQL Troubleshooting for Oracle DBAs
MySQL Enterprise Monitor
MySQL Enterprise Monitor
Double the Performance of Oracle SOA Suite 11g? Absolutely!
Double the Performance of Oracle SOA Suite 11g? Absolutely!
Enterprise manager 13c
Enterprise manager 13c
My sql 5.6&MySQL Cluster 7.3
My sql 5.6&MySQL Cluster 7.3
Oracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAs
OUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source Code
Southeast Linuxfest -- MySQL User Admin Tips & Tricks
Southeast Linuxfest -- MySQL User Admin Tips & Tricks
Similar to Instrumenting plugins for Performance Schema
Upcoming changes in MySQL 5.7
Upcoming changes in MySQL 5.7
Morgan Tocker
MySQL sys schema deep dive
MySQL sys schema deep dive
Mark Leith
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT - Performance Tuning
Mark Swarbrick
Developing Drizzle Replication Plugins
Developing Drizzle Replication Plugins
Padraig O'Sullivan
2019 indit blackhat_honeypot your database server
2019 indit blackhat_honeypot your database server
Georgi Kodinov
OUGLS 2016: How profiling works in MySQL
OUGLS 2016: How profiling works in MySQL
Georgi Kodinov
Peteris Arajs - Where is my data
Peteris Arajs - Where is my data
Andrejs Vorobjovs
MySQL NoSQL APIs
MySQL NoSQL APIs
Morgan Tocker
Upgrading to my sql 8.0
Upgrading to my sql 8.0
Ståle Deraas
The MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS Schema
Ted Wennmark
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
Mayank Prasad
InterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.js
Chris Bailey
Performance schema in_my_sql_5.6_pluk2013
Performance schema in_my_sql_5.6_pluk2013
Valeriy Kravchuk
Fosdem17 honeypot your database server
Fosdem17 honeypot your database server
Georgi Kodinov
Advance Sql Server Store procedure Presentation
Advance Sql Server Store procedure Presentation
Amin Uddin
Mysql Performance Schema - fossasia 2016
Mysql Performance Schema - fossasia 2016
Mayank Prasad
PHP FUNCTIONS
PHP FUNCTIONS
Zeeshan Ahmed
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
Olivier DASINI
Sql storeprocedure
Sql storeprocedure
ftz 420
MySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA Tool
Miguel Araújo
Similar to Instrumenting plugins for Performance Schema
(20)
Upcoming changes in MySQL 5.7
Upcoming changes in MySQL 5.7
MySQL sys schema deep dive
MySQL sys schema deep dive
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT - Performance Tuning
Developing Drizzle Replication Plugins
Developing Drizzle Replication Plugins
2019 indit blackhat_honeypot your database server
2019 indit blackhat_honeypot your database server
OUGLS 2016: How profiling works in MySQL
OUGLS 2016: How profiling works in MySQL
Peteris Arajs - Where is my data
Peteris Arajs - Where is my data
MySQL NoSQL APIs
MySQL NoSQL APIs
Upgrading to my sql 8.0
Upgrading to my sql 8.0
The MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS Schema
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
InterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.js
Performance schema in_my_sql_5.6_pluk2013
Performance schema in_my_sql_5.6_pluk2013
Fosdem17 honeypot your database server
Fosdem17 honeypot your database server
Advance Sql Server Store procedure Presentation
Advance Sql Server Store procedure Presentation
Mysql Performance Schema - fossasia 2016
Mysql Performance Schema - fossasia 2016
PHP FUNCTIONS
PHP FUNCTIONS
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
Sql storeprocedure
Sql storeprocedure
MySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA Tool
Recently uploaded
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
MIND CTI
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Roshan Dwivedi
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
apidays
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Neo4j
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
The Digital Insurer
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
SynarionITSolutions
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
DianaGray10
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
jfdjdjcjdnsjd
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
Recently uploaded
(20)
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Instrumenting plugins for Performance Schema
1.
Copyright © 2017,
Oracle and/or its affiliates. All rights reserved. | Instrumenting Plugins for Performance Schema Mark Leith Senior Software Development Manager MySQL Enterprise Tools, Oracle Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
2.
Copyright © 2017,
Oracle and/or its affiliates. All rights reserved. | Program Agenda Yea but “Why?” The Interfaces An example Questions 1 2 3 4
3.
Copyright © 2017,
Oracle and/or its affiliates. All rights reserved. | Yea but “Why?” • There’s a bunch of great interfaces in to the MySQL Server now, from the well known storage engines, through pre/post parser plugins, auditing, full text search, INFORMATION_SCHEMA tables, UDFs, replication interfaces, and more.. • We’ve made great strides in instrumenting the core server, but if you want to use plugins, and don’t also add to the instrumentation in the new standard ways, this will cause new black holes in your available performance data
4.
Copyright © 2017,
Oracle and/or its affiliates. All rights reserved. | The Performance Schema Event Horizon
5.
Copyright © 2017,
Oracle and/or its affiliates. All rights reserved. | The Interfaces • The main interface is within ./include/mysql/psi/ • The ABI is maintained via ./include/mysql/psi/psi.h • Great Doxygen based docs here: • https://dev.mysql.com/doc/dev/mysql-server/8.0.0/PAGE_PFS_PSI.html
6.
Copyright © 2017,
Oracle and/or its affiliates. All rights reserved. | The Interfaces • The API is broken down by the type of instrumentation • Threads, sync points (mutexes, rwlocks, conditions etc.) in include/mysql/psi/mysql_thread.h • File IO in include/mysql/psi/mysql_file.h • Memory in include/mysql/psi/mysql_memory.h • Network IO in include/mysql/psi/mysql_socket.h • These all use the underlying versioned performance schema interfaces via the psi.h ABI
7.
Copyright © 2017,
Oracle and/or its affiliates. All rights reserved. | An Example • Let us dream of an audit plugin • It will: • Log statements that cause errors to a file • Track some error stats with some global status variables • That requires: • Some file operations • A mutex to protect concurrent access to the variables and file
8.
Copyright © 2014,
Oracle and/or its affiliates. All rights reserved. | pthread_mutex_t LOCK_client_error; static int client_error_plugin_init(…) { pthread_mutex_init(&LOCK_client_error, NULL); … } 8 An Example - Mutex init mysql_mutex_t LOCK_client_error; PSI_mutex_key key_LOCK_client_error; static PSI_mutex_info client_error_mutexes[]= { { &key_LOCK_client_error, "LOCK_client_error", PSI_FLAG_GLOBAL } }; static int client_error_plugin_init(…) { const char* category= "client_error"; int count; count= array_elements(client_error_mutexes); mysql_mutex_register(category, client_error_mutexes, count); mysql_mutex_init(key_LOCK_client_error, &LOCK_client_error, MY_MUTEX_INIT_FAST); … } P_S Instrument Info Register within P_S
9.
Copyright © 2014,
Oracle and/or its affiliates. All rights reserved. | FILE *fp; static int client_error_plugin_init(…) { if(!(fp = fopen(“client_errors.log”, “a+”))) return true; … } 9 An Example - File init PSI_file_key key_file_client_error_log; static PSI_file_info client_error_files[]= { { &key_file_client_error_log, "client_error_log", 0} }; static int client_error_plugin_init(…) { … count= array_elements(client_error_files); mysql_file_register(category, client_error_files, count); … if (!(client_error_log= mysql_file_create(key_file_client_error_log, “client_errors.log”, 0, O_WRONLY | O_APPEND, MYF(MY_WME)))) } See my_sys.h, in this case, write message on error
10.
Copyright © 2014,
Oracle and/or its affiliates. All rights reserved. | static int client_error_notify(…) { … if (error_event->event_subclass == MYSQL_AUDIT_GENERAL_ERROR) { pthread_mutex_lock(&LOCK_client_error); … /* Increment some counters */ /* Create some log line buffer in buff */ … write(fp, (uchar*) buff, len); pthread_mutex_unlock(&LOCK_client_error); } } 10 An Example - Writing to the file static int client_error_notify(…) { … if (error_event->event_subclass == MYSQL_AUDIT_GENERAL_ERROR) { mysql_mutex_lock(&LOCK_client_error); … /* Increment some counters */ /* Create some log line buffer in buff */ … mysql_file_write(client_error_log, (uchar*) buff, len, MYF_RW); mysql_mutex_unlock(&LOCK_client_error); } } Write message on error, or if not all bytes are processed
11.
Copyright © 2017,
Oracle and/or its affiliates. All rights reserved. | An Example - Adding Stages • Now you know where you may be waiting for thread synchronisation or file IO (or network IO, I won’t talk about that here, look at the API if you’re doing some Daemon plugin) • You can track more major sections of code with Stages - the thread states that exposed via process lists and profiling interfaces • API is within include/mysql/psi/mysql_stage.h
12.
Copyright © 2014,
Oracle and/or its affiliates. All rights reserved. | PSI_stage_info opening_client_error_log_file= { 0, "Opening client error log file", 0 }; PSI_stage_info recording_error_statistics= { 0, "Recording error statistics", 0 }; PSI_stage_info *client_error_stages[]= { &opening_client_error_log_file, &recording_error_statistics }; 12 An Example - Stages static int client_error_log_open() { mysql_set_stage(opening_client_error_log_file.m_key); mysql_mutex_lock(&LOCK_client_error_log); /* Open the file, maybe write some header */ return 0; } static int client_error_notify(…) { … if (error_event->event_subclass == MYSQL_AUDIT_GENERAL_ERROR) { mysql_set_stage(recording_error_statistics.m_key); /* Update stats, write log file etc. */ } return 0; }
13.
Copyright © 2017,
Oracle and/or its affiliates. All rights reserved. | An Example - Adding Stages • Note that when adding stages, you are hijacking the current stage • Think about where in the flow your stage can be added • Consider adding a “continuation” stage • This can show code executed after your plugin (or face the blame game)
14.
Copyright © 2017,
Oracle and/or its affiliates. All rights reserved. | An Example - Stage Progress • You can also track progress of stages within 5.7+ • Call mysql_set_stage(…) • Then mysql_stage_set_work_estimated(<stage>, <estimate count>) • Then while doing the estimated work, at the right interval: • mysql_stage_set_work_completed(<stage>, <completed count>);
15.
Copyright © 2014,
Oracle and/or its affiliates. All rights reserved. | An Example - Performance Schema Output 15 ( SELECT thread_id, nesting_event_id, event_id, event_name, sys.format_time(timer_wait) AS time FROM performance_schema.events_stages_history_long ORDER BY event_id ) UNION ALL ( SELECT thread_id, nesting_event_id, event_id, concat('-> ', event_name), sys.format_time(timer_wait) AS time FROM performance_schema.events_waits_history_long WHERE event_name != 'idle' ORDER BY event_id ) ORDER BY thread_id, event_id; +-----------+------------------+----------+--------------------------------------------------------+-----------+ | thread_id | nesting_event_id | event_id | event_name | time | +-----------+------------------+----------+--------------------------------------------------------+-----------+ | 24 | 427 | 428 | stage/sql/starting | 120.46 us | … | 24 | 428 | 437 | -> wait/synch/rwlock/sql/LOCK_grant | 437.32 ns | | 24 | 427 | 438 | stage/sql/Opening tables | 28.21 us | | 24 | 427 | 440 | stage/client_error/Recording error statistics | 23.14 us | | 24 | 440 | 441 | -> wait/synch/mutex/client_error/LOCK_client_error_log | 203.58 ns | | 24 | 440 | 442 | -> wait/io/file/client_error/client_error_log | 11.25 us | | 24 | 427 | 443 | stage/sql/query end | 3.52 us | | 24 | 443 | 444 | -> wait/synch/mutex/sql/THD::LOCK_query_plan | 158.34 ns | | 24 | 427 | 445 | stage/sql/closing tables | 1.68 us | | 24 | 427 | 446 | stage/sql/freeing items | 50.63 us |
16.
Copyright © 2017,
Oracle and/or its affiliates. All rights reserved. | Question and feedback time!
17.
Copyright © 2017,
Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
Download now