SlideShare a Scribd company logo
The 
most 
important 
trick 
of 
performance 
instrumentation 
Cary 
Millsap 
Accenture 
Enkitec 
Group 
and 
Method 
R 
Corporation 
@CaryMillsap 
OakTable 
World 
2014 
·∙ 
San 
Francisco, 
California 
12:50p–1:00p 
Monday 
29 
September 
2014 
© 
2014 
Method 
R 
Corporation 
1 
TM 
MeTHOD R
@CaryMillsap 
Performance is not an 
attribute of a system. 
2
ID USERNAME MODULE START_TIME R SLR 
-- -------- ------- -------------------------- ----- --- 
1 FCHANG OE BOOK 2014-09-15T08:14:22.189533 2.019 2.0 
2 RSMITH OE SHIP 2014-09-15T08:14:23.673849 3.528 5.0 
3 DJOHNSON OE PICK 2014-09-15T08:15:01.938816 1.211 5.0 
4 FFORBES OE BOOK 2014-09-15T08:17:23.815511 0.716 2.5 
5 FCHANG OE BOOK 2014-09-15T08:17:24.032562 1.917 2.5 
6 LBUMONT PA MTCH 2014-09-15T08:17:42.019328 1.305 2.0 
@CaryMillsap 
3 
This 
thing 
called 
an 
experience... 
#define FAST (R ≤ SLR)
ID USERNAME MODULE R SLR FAST? 
-- -------- ------- ----- --- ----- 
1 FCHANG OE BOOK 2.019 2.0 N 
2 RSMITH OE SHIP 3.528 5.0 Y 
3 DJOHNSON OE PICK 1.211 5.0 Y 
4 FFORBES OE BOOK 0.716 2.5 Y 
5 FCHANG OE BOOK 1.917 2.5 Y 
6 LBUMONT PA MTCH 1.305 2.0 Y 
@CaryMillsap 
4 
This 
thing 
called 
an 
experience... 
#define FAST (R ≤ SLR)
@CaryMillsap 
Performance is an attribute of 
each individual experience 
with a system. 
5
EXPERIENCE 
• id 
• task-id 
• user-id 
• ip-address 
• start-time 
• end-time 
• ERROR-code 
• WORK-done 
TASK 
• id 
• name 
• ... 
SQL 
• ID 
• Task-id 
• ... 
N 
1 
1 
N 
@CaryMillsap 6
@CaryMillsap 
The “trick”... 
7
@CaryMillsap 
Each 
experience 
gets its own 
unique id. 
8
@CaryMillsap 
That’s 
it. 
9
@CaryMillsap 
Each 
experience 
gets its own 
unique id. 
10
@CaryMillsap 
You 
need 
to 
see 
this 
experience 
id 
in 
your 
session’s 
v$ 
data 
and 
your 
trace 
data. 
11 
❶ 
❷
@CaryMillsap 
Implementation? 
12
T 
UNDER CONSTRUCTION 
@CaryMillsap 13
dbms_application_info.set_module( 
module_name 
=> 'OE BOOK', 
action_name 
=> sys_guid() -- 32-char hex string 
); 
-- Your ‘book order’ code 
dbms_application_info.set_module( 
module_name 
=> null, 
action_name 
=> null 
); 
@CaryMillsap 
14 
SQL, PL/SQL
conn.ModuleName = "OE BOOK"; 
conn.ActionName = Guid.NewGuid().toString(); 
// Your ‘book order’ code 
conn.ModuleName = ""; 
conn.ActionName = ""; 
@CaryMillsap 
ODP.NET 
15
String metrics[] = new 
String[OraCxn.END_TO_END_STATE_INDEX_MAX]; 
metrics[END_TO_END_MODULE_INDEX] = "OE BOOK"; 
metrics[END_TO_END_ACTION_INDEX] = UUID.randomUUID().toString(); 
conn.setEndToEndMetrics(metrics, (short) 0); 
// Your ‘book order’ code 
metrics[END_TO_END_MODULE_INDEX] = ""; 
metrics[END_TO_END_ACTION_INDEX] = ""; 
conn.setEndToEndMetrics(metrics, (short) 0); 
@CaryMillsap 
16 
Java, ADF
17
setClientInfo method supports JDBC DMS metrics 
setEndToEndMetrics is deprecated 
DBOP tag can be associated with application thread 
18 
New in 12.1
19 
Oh, and... 
module and action lengths are limited by JDBC 
(Thanks Lasse Jenssen)
@CaryMillsap 
Postscript 
A 
UUID 
in 
canonical 
form 
is 
36 
characters 
long 
(32 
lowercase 
hexadecimal 
characters 
and 
4 
hyphens). 
However, 
v$session.action 
is 
VARCHAR2(32), 
so 
either 
we 
need 
to 
perform 
a 
more 
sophisticated 
transformation 
than 
toString 
upon 
the 
UUID 
(such 
as 
to 
remove 
the 
hyphens), 
or 
we 
have 
to 
choose 
another 
column 
in 
which 
to 
store 
it. 
We’re 
also 
investigating 
whether 
the 
new 
12.1 
begin_operation 
function 
and 
end_operation 
procedure 
in 
dbms_sql_monitor 
will 
accomplish 
our 
goal 
of 
assigning 
a 
unique 
id 
to 
each 
end-­‐user 
experience. 
The 
material 
at 
http:// 
docs.oracle.com/database/121/TGSQL/tgsql_monit.htm#TGSQL789 
and 
http://docs.oracle.com/database/121/ARPLS/ 
d_sql_monitor.htm#ARPLS74779 
looks 
promising. 
The 
combination 
of 
dbop_name 
and 
dbop_eid 
should 
be 
unique, 
but 
to 
meet 
my 
needs, 
these 
elements 
would 
have 
to 
render 
into 
the 
session’s 
trace 
data. 
These 
are 
the 
kinds 
of 
things 
we’re 
working 
on. 
20
@CaryMillsap 
What you get 
21
experience 
id 
(PK) 
USERNAME MODULE_NAME ACTION_NAME START_TIME 
-------- ----------- -------------------------------- ---------- 
FCHANG OE BOOK 4a782ce58c4c462990547500d2fd308d 2014-09-15 
RSMITH OE SHIP 990a5426012841fa83c0cfa3690fad54 2014-09-15 
DJOHNSON OE PICK 9d92d1cceb87405f94a04d0224e1c7c4 2014-09-15 
FFORBES OE BOOK 2c920fc0fb91473ab4c141423e450715 2014-09-15 
FCHANG OE BOOK 396f1348b5364d578e1815e74e910b43 2014-09-15 
LBUMONT PA MTCH 7ddbf894941549e9b91b036947cb7328 2014-09-15 
@CaryMillsap 22
DBMS_MONITOR.SERV_MOD_ACT_TRACE_ENABLE( 
MODULE_NAME => 'OE BOOK', 
ACTION_NAME => ANY_ACTION // default 
) 
USERNAME MODULE_NAME ACTION_NAME START_TIME 
-------- ----------- -------------------------------- ---------- 
FCHANG OE BOOK 4a782ce58c4c462990547500d2fd308d 2014-09-15 
RSMITH OE SHIP 990a5426012841fa83c0cfa3690fad54 2014-09-15 
DJOHNSON OE PICK 9d92d1cceb87405f94a04d0224e1c7c4 2014-09-15 
FFORBES OE BOOK 2c920fc0fb91473ab4c141423e450715 2014-09-15 
FCHANG OE BOOK 396f1348b5364d578e1815e74e910b43 2014-09-15 
LBUMONT PA MTCH 7ddbf894941549e9b91b036947cb7328 2014-09-15 
@CaryMillsap 23
@CaryMillsap 
*** CLIENT ID:(10.17.21.198 FCHANG) ... 
*** MODULE NAME:(OE BOOK) ... 
*** ACTION NAME:(4a782ce58c4c462990547500d2fd308d) ... 
PARSE ... 
EXEC ... 
WAIT ... 
... 
*** CLIENT ID:(10.17.22.57 FFORBES) ... 
*** MODULE NAME:(OE BOOK) ... 
*** ACTION NAME:(2c920fc0fb91473ab4c141423e450715) ... 
PARSE ... 
WAIT ... 
EXEC ... 
... 
*** CLIENT ID:(10.17.22.241 FCHANG) ... 
*** MODULE NAME:(OE BOOK) ... 
*** ACTION NAME:(396f1348b5364d578e1815e74e910b43) ... 
EXEC ... 
WAIT ... 
FETCH ... 
... 
24
ACTION Trace file line 
------------- ----------------------------------------------------------- 
@CaryMillsap 
*** CLIENT ID:(10.17.21.198 FCHANG) ... 
*** MODULE NAME:(OE BOOK) ... 
*** ACTION NAME:(4a782ce58c4c462990547500d2fd308d) ... 
PARSE ... 
EXEC ... 
WAIT ... 
... 
*** CLIENT ID:(10.17.22.57 FFORBES) ... 
*** MODULE NAME:(OE BOOK) ... 
*** ACTION NAME:(2c920fc0fb91473ab4c141423e450715) ... 
PARSE ... 
WAIT ... 
EXEC ... 
... 
*** CLIENT ID:(10.17.22.241 FCHANG) ... 
*** MODULE NAME:(OE BOOK) ... 
*** ACTION NAME:(396f1348b5364d578e1815e74e910b43) ... 
EXEC ... 
WAIT ... 
FETCH ... 
... 
25 
4a782ce5... 
4a782ce5... 
4a782ce5... 
4a782ce5... 
2c920fc0... 
2c920fc0... 
2c920fc0... 
2c920fc0... 
396f1348... 
396f1348... 
396f1348... 
396f1348...
$ mrskew --group='"$act $mod $client_id"' ... --top=10 *trc 
ACTION MODULE CLIENT_ID DURATION % CALLS MEAN MIN --------------------------------------------------------------- --------- ------ ------ -------- -------- c9a65ad7c62a4de9bb4ad118d9a5eda3 OE BOOK 10.17.23.41 AGREEN 3.162362 3.6% 604 0.005236 0.000000 b4748d88eea44d81a406e341ea36548f OE BOOK 10.17.22.14 GLAMB 3.115821 3.5% 604 0.005159 0.000000 f685757c77dd4b15a15d8ce811ee7390 OE BOOK 10.17.23.163 YJUSTICE 1.000578 1.1% 604 0.001657 0.000000 5d14953834e74063836678babf51e072 OE BOOK 10.17.22.227 USILVA 0.942317 1.1% 604 0.001560 0.000000 390c18ebfcd84e418b004c71bb3c0589 OE BOOK 10.17.21.63 WEVANS 0.914806 1.0% 604 0.001515 0.000000 2e5316d0cff448afa5f20de22c044409 OE BOOK 10.17.23.68 VMAYNARD 0.864778 1.0% 604 0.001432 0.000000 3db7b83fdad34b4289ca06cffaa5e711 OE BOOK 10.17.23.212 JSTRONG 0.786390 0.9% 604 0.001302 0.000000 f0135a649e124aefb8fb8069bb5bc16d OE BOOK 10.17.22.25 RHOPPER 0.780173 0.9% 604 0.001292 0.000000 93ff740851704d6dbcac5579e585dd61 OE BOOK 10.17.22.219 FWALLACE 0.758373 0.9% 604 0.001256 0.000000 ff784d033478490b899b5d04814a1ca8 OE BOOK 10.17.21.246 FROWLAND 0.750675 0.9% 604 0.001243 0.000000 2,275 others 75.188801 85.2% 10,915 0.006889 0.000000 -------------------------------------------------------------- --------- ------ ------ -------- -------- TOTAL (2,285) 88.265074 100.0% 16,955 0.005206 0.000000 @CaryMillsap 
26
$ mrskew --group='"$act $mod $client_id"' ... --top=10 *trc 
ACTION MODULE CLIENT_ID DURATION % CALLS MEAN MIN -------------------------------------------------------------- --------- ------ ------ -------- -------- c9a65ad7c62a4de9bb4ad118d9a5eda3 OE BOOK 10.17.23.41 AGREEN 3.162362 3.6% 604 0.005236 0.000000 b4748d88eea44d81a406e341ea36548f OE BOOK 10.17.22.14 GLAMB 3.115821 3.5% 604 0.005159 0.000000 f685757c77dd4b15a15d8ce811ee7390 OE BOOK 10.17.23.163 YJUSTICE 1.000578 1.1% 604 0.001657 0.000000 5d14953834e74063836678babf51e072 OE BOOK 10.17.22.227 USILVA 0.942317 1.1% 604 0.001560 0.000000 390c18ebfcd84e418b004c71bb3c0589 OE BOOK 10.17.21.63 WEVANS 0.914806 1.0% 604 0.001515 0.000000 2e5316d0cff448afa5f20de22c044409 OE BOOK 10.17.23.68 VMAYNARD 0.864778 1.0% 604 0.001432 0.000000 3db7b83fdad34b4289ca06cffaa5e711 OE BOOK 10.17.23.212 JSTRONG 0.786390 0.9% 604 0.001302 0.000000 f0135a649e124aefb8fb8069bb5bc16d OE BOOK 10.17.22.25 RHOPPER 0.780173 0.9% 604 0.001292 0.000000 93ff740851704d6dbcac5579e585dd61 OE BOOK 10.17.22.219 FWALLACE 0.758373 0.9% 604 0.001256 0.000000 ff784d033478490b899b5d04814a1ca8 OE BOOK 10.17.21.246 FROWLAND 0.750675 0.9% 604 0.001243 0.000000 2,275 others 75.188801 85.2% 10,915 0.006889 0.000000 -------------------------------------------------------------- --------- ------ ------ -------- -------- TOTAL (2,285) 88.265074 100.0% 16,955 0.005206 0.000000 $ mrskew --where='$act eq "c9a65ad7c62a4de9bb4ad118d9a5eda3"' *trc 
CALL-NAME DURATION % CALLS MEAN MIN MAX 
--------------------------- -------- ------ ----- -------- -------- -------- 
SQL*Net message from client 3.161922 100.0% 201 0.015731 0.001619 0.135835 
SQL*Net message to client 0.000440 0.0% 201 0.000002 0.000000 0.000027 
FETCH 0.000000 0.0% 201 0.000000 0.000000 0.000000 
EXEC 0.000000 0.0% 1 0.000000 0.000000 0.000000 
--------------------------- -------- ------ ----- -------- -------- -------- 
TOTAL (4) 3.162362 100.0% 604 0.005236 0.000000 0.135835 
@CaryMillsap 
27
@CaryMillsap 
Each 
experience 
gets its own 
unique id. 
28
@CaryMillsap 
...So you can 
measure and diagnose 
what people feel. 
29
@CaryMillsap 
...So you can 
measure and diagnose 
performance. 
30
@CaryMillsap 
For 
more... 
http://amzn.to/173bpzg 
31
@CaryMillsap 
Fin 
32

More Related Content

What's hot

Agile Database Development with JSON
Agile Database Development with JSONAgile Database Development with JSON
Agile Database Development with JSON
Chris Saxon
 
APEX Connect 2019 - array/bulk processing in PLSQL
APEX Connect 2019 - array/bulk processing in PLSQLAPEX Connect 2019 - array/bulk processing in PLSQL
APEX Connect 2019 - array/bulk processing in PLSQL
Connor McDonald
 
Performance
PerformancePerformance
Performance
Cary Millsap
 
UKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction LocksUKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction LocksKyle Hailey
 
Sangam 18 - Database Development: Return of the SQL Jedi
Sangam 18 - Database Development: Return of the SQL JediSangam 18 - Database Development: Return of the SQL Jedi
Sangam 18 - Database Development: Return of the SQL Jedi
Connor McDonald
 
Oracle Database 12c Application Development
Oracle Database 12c Application DevelopmentOracle Database 12c Application Development
Oracle Database 12c Application Development
Saurabh K. Gupta
 
Profiling Oracle with GDB
Profiling Oracle with GDBProfiling Oracle with GDB
Profiling Oracle with GDB
Enkitec
 
Redo internals ppt
Redo internals pptRedo internals ppt
Redo internals ppt
Riyaj Shamsudeen
 
OOUG: Oracle transaction locking
OOUG: Oracle transaction lockingOOUG: Oracle transaction locking
OOUG: Oracle transaction lockingKyle Hailey
 
SQL and PLSQL features for APEX Developers
SQL and PLSQL features for APEX DevelopersSQL and PLSQL features for APEX Developers
SQL and PLSQL features for APEX Developers
Connor McDonald
 
Advanced rac troubleshooting
Advanced rac troubleshootingAdvanced rac troubleshooting
Advanced rac troubleshooting
Riyaj Shamsudeen
 
Cassandra EU - Data model on fire
Cassandra EU - Data model on fireCassandra EU - Data model on fire
Cassandra EU - Data model on fire
Patrick McFadin
 
Troubleshooting JIRA & Confluence
Troubleshooting JIRA & ConfluenceTroubleshooting JIRA & Confluence
Troubleshooting JIRA & Confluence
Atlassian
 
data_all_oracle
data_all_oracledata_all_oracle
data_all_oracle
raviranchi02
 
Tracking Data Updates in Real-time with Change Data Capture
Tracking Data Updates in Real-time with Change Data CaptureTracking Data Updates in Real-time with Change Data Capture
Tracking Data Updates in Real-time with Change Data Capture
ScyllaDB
 
Perth APAC Groundbreakers tour - SQL Techniques
Perth APAC Groundbreakers tour - SQL TechniquesPerth APAC Groundbreakers tour - SQL Techniques
Perth APAC Groundbreakers tour - SQL Techniques
Connor McDonald
 
Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...
Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...
Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...
Maris Elsins
 
Exploring OpenFaaS autoscalability on Kubernetes with the Chaos Toolkit
Exploring OpenFaaS autoscalability on Kubernetes with the Chaos ToolkitExploring OpenFaaS autoscalability on Kubernetes with the Chaos Toolkit
Exploring OpenFaaS autoscalability on Kubernetes with the Chaos Toolkit
Sylvain Hellegouarch
 

What's hot (20)

Agile Database Development with JSON
Agile Database Development with JSONAgile Database Development with JSON
Agile Database Development with JSON
 
APEX Connect 2019 - array/bulk processing in PLSQL
APEX Connect 2019 - array/bulk processing in PLSQLAPEX Connect 2019 - array/bulk processing in PLSQL
APEX Connect 2019 - array/bulk processing in PLSQL
 
Performance
PerformancePerformance
Performance
 
UKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction LocksUKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction Locks
 
Sangam 18 - Database Development: Return of the SQL Jedi
Sangam 18 - Database Development: Return of the SQL JediSangam 18 - Database Development: Return of the SQL Jedi
Sangam 18 - Database Development: Return of the SQL Jedi
 
Oracle Database 12c Application Development
Oracle Database 12c Application DevelopmentOracle Database 12c Application Development
Oracle Database 12c Application Development
 
Profiling Oracle with GDB
Profiling Oracle with GDBProfiling Oracle with GDB
Profiling Oracle with GDB
 
Redo internals ppt
Redo internals pptRedo internals ppt
Redo internals ppt
 
OOUG: Oracle transaction locking
OOUG: Oracle transaction lockingOOUG: Oracle transaction locking
OOUG: Oracle transaction locking
 
SQL and PLSQL features for APEX Developers
SQL and PLSQL features for APEX DevelopersSQL and PLSQL features for APEX Developers
SQL and PLSQL features for APEX Developers
 
Survey of Percona Toolkit
Survey of Percona ToolkitSurvey of Percona Toolkit
Survey of Percona Toolkit
 
Sql2
Sql2Sql2
Sql2
 
Advanced rac troubleshooting
Advanced rac troubleshootingAdvanced rac troubleshooting
Advanced rac troubleshooting
 
Cassandra EU - Data model on fire
Cassandra EU - Data model on fireCassandra EU - Data model on fire
Cassandra EU - Data model on fire
 
Troubleshooting JIRA & Confluence
Troubleshooting JIRA & ConfluenceTroubleshooting JIRA & Confluence
Troubleshooting JIRA & Confluence
 
data_all_oracle
data_all_oracledata_all_oracle
data_all_oracle
 
Tracking Data Updates in Real-time with Change Data Capture
Tracking Data Updates in Real-time with Change Data CaptureTracking Data Updates in Real-time with Change Data Capture
Tracking Data Updates in Real-time with Change Data Capture
 
Perth APAC Groundbreakers tour - SQL Techniques
Perth APAC Groundbreakers tour - SQL TechniquesPerth APAC Groundbreakers tour - SQL Techniques
Perth APAC Groundbreakers tour - SQL Techniques
 
Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...
Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...
Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...
 
Exploring OpenFaaS autoscalability on Kubernetes with the Chaos Toolkit
Exploring OpenFaaS autoscalability on Kubernetes with the Chaos ToolkitExploring OpenFaaS autoscalability on Kubernetes with the Chaos Toolkit
Exploring OpenFaaS autoscalability on Kubernetes with the Chaos Toolkit
 

Similar to Most important "trick" of performance instrumentation

OpenWorld Sep14 12c for_developers
OpenWorld Sep14 12c for_developersOpenWorld Sep14 12c for_developers
OpenWorld Sep14 12c for_developers
Connor McDonald
 
UKOUG - 25 years of hints and tips
UKOUG - 25 years of hints and tipsUKOUG - 25 years of hints and tips
UKOUG - 25 years of hints and tips
Connor McDonald
 
11thingsabout11g 12659705398222 Phpapp01
11thingsabout11g 12659705398222 Phpapp0111thingsabout11g 12659705398222 Phpapp01
11thingsabout11g 12659705398222 Phpapp01Karam Abuataya
 
11 Things About11g
11 Things About11g11 Things About11g
11 Things About11g
fcamachob
 
Wait Events 10g
Wait Events 10gWait Events 10g
Wait Events 10gsagai
 
PoC Oracle Exadata - Retour d'expérience
PoC Oracle Exadata - Retour d'expériencePoC Oracle Exadata - Retour d'expérience
PoC Oracle Exadata - Retour d'expérience
Swiss Data Forum Swiss Data Forum
 
12c for Developers - Feb 2014
12c for Developers - Feb 201412c for Developers - Feb 2014
12c for Developers - Feb 2014
Connor McDonald
 
Oracle 12c Automatic Data Optimization (ADO) - ILM
Oracle 12c Automatic Data Optimization (ADO) - ILMOracle 12c Automatic Data Optimization (ADO) - ILM
Oracle 12c Automatic Data Optimization (ADO) - ILM
Monowar Mukul
 
OOW19 - Killing database sessions
OOW19 - Killing database sessionsOOW19 - Killing database sessions
OOW19 - Killing database sessions
Connor McDonald
 
12c Mini Lesson - Data Redaction
12c Mini Lesson - Data Redaction12c Mini Lesson - Data Redaction
12c Mini Lesson - Data Redaction
Connor McDonald
 
5 Cool Things About SQL
5 Cool Things About SQL5 Cool Things About SQL
5 Cool Things About SQL
Connor McDonald
 
Oracle Basics and Architecture
Oracle Basics and ArchitectureOracle Basics and Architecture
Oracle Basics and ArchitectureSidney Chen
 
Oracle dbms_xplan.display_cursor format
Oracle dbms_xplan.display_cursor formatOracle dbms_xplan.display_cursor format
Oracle dbms_xplan.display_cursor format
Franck Pachot
 
Addmrpt 1 1436_1462
Addmrpt 1 1436_1462Addmrpt 1 1436_1462
Addmrpt 1 1436_1462
Pavankumar Bolla
 
Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...
Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...
Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...
Nagios
 
Oracle Diagnostics : Explain Plans (Simple)
Oracle Diagnostics : Explain Plans (Simple)Oracle Diagnostics : Explain Plans (Simple)
Oracle Diagnostics : Explain Plans (Simple)Hemant K Chitale
 
audit_blog.ppt
audit_blog.pptaudit_blog.ppt
audit_blog.ppt
ssuserb9407e
 
Debugging Ruby
Debugging RubyDebugging Ruby
Debugging Ruby
Aman Gupta
 
12c: Testing audit features for Data Pump (Export & Import) and RMAN jobs
12c: Testing audit features for Data Pump (Export & Import) and RMAN jobs12c: Testing audit features for Data Pump (Export & Import) and RMAN jobs
12c: Testing audit features for Data Pump (Export & Import) and RMAN jobsMonowar Mukul
 
How to find and fix your Oracle application performance problem
How to find and fix your Oracle application performance problemHow to find and fix your Oracle application performance problem
How to find and fix your Oracle application performance problem
Cary Millsap
 

Similar to Most important "trick" of performance instrumentation (20)

OpenWorld Sep14 12c for_developers
OpenWorld Sep14 12c for_developersOpenWorld Sep14 12c for_developers
OpenWorld Sep14 12c for_developers
 
UKOUG - 25 years of hints and tips
UKOUG - 25 years of hints and tipsUKOUG - 25 years of hints and tips
UKOUG - 25 years of hints and tips
 
11thingsabout11g 12659705398222 Phpapp01
11thingsabout11g 12659705398222 Phpapp0111thingsabout11g 12659705398222 Phpapp01
11thingsabout11g 12659705398222 Phpapp01
 
11 Things About11g
11 Things About11g11 Things About11g
11 Things About11g
 
Wait Events 10g
Wait Events 10gWait Events 10g
Wait Events 10g
 
PoC Oracle Exadata - Retour d'expérience
PoC Oracle Exadata - Retour d'expériencePoC Oracle Exadata - Retour d'expérience
PoC Oracle Exadata - Retour d'expérience
 
12c for Developers - Feb 2014
12c for Developers - Feb 201412c for Developers - Feb 2014
12c for Developers - Feb 2014
 
Oracle 12c Automatic Data Optimization (ADO) - ILM
Oracle 12c Automatic Data Optimization (ADO) - ILMOracle 12c Automatic Data Optimization (ADO) - ILM
Oracle 12c Automatic Data Optimization (ADO) - ILM
 
OOW19 - Killing database sessions
OOW19 - Killing database sessionsOOW19 - Killing database sessions
OOW19 - Killing database sessions
 
12c Mini Lesson - Data Redaction
12c Mini Lesson - Data Redaction12c Mini Lesson - Data Redaction
12c Mini Lesson - Data Redaction
 
5 Cool Things About SQL
5 Cool Things About SQL5 Cool Things About SQL
5 Cool Things About SQL
 
Oracle Basics and Architecture
Oracle Basics and ArchitectureOracle Basics and Architecture
Oracle Basics and Architecture
 
Oracle dbms_xplan.display_cursor format
Oracle dbms_xplan.display_cursor formatOracle dbms_xplan.display_cursor format
Oracle dbms_xplan.display_cursor format
 
Addmrpt 1 1436_1462
Addmrpt 1 1436_1462Addmrpt 1 1436_1462
Addmrpt 1 1436_1462
 
Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...
Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...
Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...
 
Oracle Diagnostics : Explain Plans (Simple)
Oracle Diagnostics : Explain Plans (Simple)Oracle Diagnostics : Explain Plans (Simple)
Oracle Diagnostics : Explain Plans (Simple)
 
audit_blog.ppt
audit_blog.pptaudit_blog.ppt
audit_blog.ppt
 
Debugging Ruby
Debugging RubyDebugging Ruby
Debugging Ruby
 
12c: Testing audit features for Data Pump (Export & Import) and RMAN jobs
12c: Testing audit features for Data Pump (Export & Import) and RMAN jobs12c: Testing audit features for Data Pump (Export & Import) and RMAN jobs
12c: Testing audit features for Data Pump (Export & Import) and RMAN jobs
 
How to find and fix your Oracle application performance problem
How to find and fix your Oracle application performance problemHow to find and fix your Oracle application performance problem
How to find and fix your Oracle application performance problem
 

More from Cary Millsap

“Performance” - Dallas Oracle Users Group 2019-01-29 presentation
“Performance” - Dallas Oracle Users Group 2019-01-29 presentation“Performance” - Dallas Oracle Users Group 2019-01-29 presentation
“Performance” - Dallas Oracle Users Group 2019-01-29 presentation
Cary Millsap
 
Innovative Specifications for Better Performance Logging and Monitoring
Innovative Specifications for Better Performance Logging and MonitoringInnovative Specifications for Better Performance Logging and Monitoring
Innovative Specifications for Better Performance Logging and Monitoring
Cary Millsap
 
The Most Important Things You Should Know about Oracle®
The Most Important Things You Should Know about Oracle®The Most Important Things You Should Know about Oracle®
The Most Important Things You Should Know about Oracle®
Cary Millsap
 
How to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problemHow to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problem
Cary Millsap
 
How to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problemHow to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problem
Cary Millsap
 
My Case for Agile
My Case for AgileMy Case for Agile
My Case for Agile
Cary Millsap
 
Diagnosability versus The Cloud, Toronto 2011-04-21
Diagnosability versus The Cloud, Toronto 2011-04-21Diagnosability versus The Cloud, Toronto 2011-04-21
Diagnosability versus The Cloud, Toronto 2011-04-21
Cary Millsap
 

More from Cary Millsap (7)

“Performance” - Dallas Oracle Users Group 2019-01-29 presentation
“Performance” - Dallas Oracle Users Group 2019-01-29 presentation“Performance” - Dallas Oracle Users Group 2019-01-29 presentation
“Performance” - Dallas Oracle Users Group 2019-01-29 presentation
 
Innovative Specifications for Better Performance Logging and Monitoring
Innovative Specifications for Better Performance Logging and MonitoringInnovative Specifications for Better Performance Logging and Monitoring
Innovative Specifications for Better Performance Logging and Monitoring
 
The Most Important Things You Should Know about Oracle®
The Most Important Things You Should Know about Oracle®The Most Important Things You Should Know about Oracle®
The Most Important Things You Should Know about Oracle®
 
How to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problemHow to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problem
 
How to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problemHow to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problem
 
My Case for Agile
My Case for AgileMy Case for Agile
My Case for Agile
 
Diagnosability versus The Cloud, Toronto 2011-04-21
Diagnosability versus The Cloud, Toronto 2011-04-21Diagnosability versus The Cloud, Toronto 2011-04-21
Diagnosability versus The Cloud, Toronto 2011-04-21
 

Recently uploaded

Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 

Recently uploaded (20)

Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 

Most important "trick" of performance instrumentation

  • 1. The most important trick of performance instrumentation Cary Millsap Accenture Enkitec Group and Method R Corporation @CaryMillsap OakTable World 2014 ·∙ San Francisco, California 12:50p–1:00p Monday 29 September 2014 © 2014 Method R Corporation 1 TM MeTHOD R
  • 2. @CaryMillsap Performance is not an attribute of a system. 2
  • 3. ID USERNAME MODULE START_TIME R SLR -- -------- ------- -------------------------- ----- --- 1 FCHANG OE BOOK 2014-09-15T08:14:22.189533 2.019 2.0 2 RSMITH OE SHIP 2014-09-15T08:14:23.673849 3.528 5.0 3 DJOHNSON OE PICK 2014-09-15T08:15:01.938816 1.211 5.0 4 FFORBES OE BOOK 2014-09-15T08:17:23.815511 0.716 2.5 5 FCHANG OE BOOK 2014-09-15T08:17:24.032562 1.917 2.5 6 LBUMONT PA MTCH 2014-09-15T08:17:42.019328 1.305 2.0 @CaryMillsap 3 This thing called an experience... #define FAST (R ≤ SLR)
  • 4. ID USERNAME MODULE R SLR FAST? -- -------- ------- ----- --- ----- 1 FCHANG OE BOOK 2.019 2.0 N 2 RSMITH OE SHIP 3.528 5.0 Y 3 DJOHNSON OE PICK 1.211 5.0 Y 4 FFORBES OE BOOK 0.716 2.5 Y 5 FCHANG OE BOOK 1.917 2.5 Y 6 LBUMONT PA MTCH 1.305 2.0 Y @CaryMillsap 4 This thing called an experience... #define FAST (R ≤ SLR)
  • 5. @CaryMillsap Performance is an attribute of each individual experience with a system. 5
  • 6. EXPERIENCE • id • task-id • user-id • ip-address • start-time • end-time • ERROR-code • WORK-done TASK • id • name • ... SQL • ID • Task-id • ... N 1 1 N @CaryMillsap 6
  • 8. @CaryMillsap Each experience gets its own unique id. 8
  • 10. @CaryMillsap Each experience gets its own unique id. 10
  • 11. @CaryMillsap You need to see this experience id in your session’s v$ data and your trace data. 11 ❶ ❷
  • 13. T UNDER CONSTRUCTION @CaryMillsap 13
  • 14. dbms_application_info.set_module( module_name => 'OE BOOK', action_name => sys_guid() -- 32-char hex string ); -- Your ‘book order’ code dbms_application_info.set_module( module_name => null, action_name => null ); @CaryMillsap 14 SQL, PL/SQL
  • 15. conn.ModuleName = "OE BOOK"; conn.ActionName = Guid.NewGuid().toString(); // Your ‘book order’ code conn.ModuleName = ""; conn.ActionName = ""; @CaryMillsap ODP.NET 15
  • 16. String metrics[] = new String[OraCxn.END_TO_END_STATE_INDEX_MAX]; metrics[END_TO_END_MODULE_INDEX] = "OE BOOK"; metrics[END_TO_END_ACTION_INDEX] = UUID.randomUUID().toString(); conn.setEndToEndMetrics(metrics, (short) 0); // Your ‘book order’ code metrics[END_TO_END_MODULE_INDEX] = ""; metrics[END_TO_END_ACTION_INDEX] = ""; conn.setEndToEndMetrics(metrics, (short) 0); @CaryMillsap 16 Java, ADF
  • 17. 17
  • 18. setClientInfo method supports JDBC DMS metrics setEndToEndMetrics is deprecated DBOP tag can be associated with application thread 18 New in 12.1
  • 19. 19 Oh, and... module and action lengths are limited by JDBC (Thanks Lasse Jenssen)
  • 20. @CaryMillsap Postscript A UUID in canonical form is 36 characters long (32 lowercase hexadecimal characters and 4 hyphens). However, v$session.action is VARCHAR2(32), so either we need to perform a more sophisticated transformation than toString upon the UUID (such as to remove the hyphens), or we have to choose another column in which to store it. We’re also investigating whether the new 12.1 begin_operation function and end_operation procedure in dbms_sql_monitor will accomplish our goal of assigning a unique id to each end-­‐user experience. The material at http:// docs.oracle.com/database/121/TGSQL/tgsql_monit.htm#TGSQL789 and http://docs.oracle.com/database/121/ARPLS/ d_sql_monitor.htm#ARPLS74779 looks promising. The combination of dbop_name and dbop_eid should be unique, but to meet my needs, these elements would have to render into the session’s trace data. These are the kinds of things we’re working on. 20
  • 22. experience id (PK) USERNAME MODULE_NAME ACTION_NAME START_TIME -------- ----------- -------------------------------- ---------- FCHANG OE BOOK 4a782ce58c4c462990547500d2fd308d 2014-09-15 RSMITH OE SHIP 990a5426012841fa83c0cfa3690fad54 2014-09-15 DJOHNSON OE PICK 9d92d1cceb87405f94a04d0224e1c7c4 2014-09-15 FFORBES OE BOOK 2c920fc0fb91473ab4c141423e450715 2014-09-15 FCHANG OE BOOK 396f1348b5364d578e1815e74e910b43 2014-09-15 LBUMONT PA MTCH 7ddbf894941549e9b91b036947cb7328 2014-09-15 @CaryMillsap 22
  • 23. DBMS_MONITOR.SERV_MOD_ACT_TRACE_ENABLE( MODULE_NAME => 'OE BOOK', ACTION_NAME => ANY_ACTION // default ) USERNAME MODULE_NAME ACTION_NAME START_TIME -------- ----------- -------------------------------- ---------- FCHANG OE BOOK 4a782ce58c4c462990547500d2fd308d 2014-09-15 RSMITH OE SHIP 990a5426012841fa83c0cfa3690fad54 2014-09-15 DJOHNSON OE PICK 9d92d1cceb87405f94a04d0224e1c7c4 2014-09-15 FFORBES OE BOOK 2c920fc0fb91473ab4c141423e450715 2014-09-15 FCHANG OE BOOK 396f1348b5364d578e1815e74e910b43 2014-09-15 LBUMONT PA MTCH 7ddbf894941549e9b91b036947cb7328 2014-09-15 @CaryMillsap 23
  • 24. @CaryMillsap *** CLIENT ID:(10.17.21.198 FCHANG) ... *** MODULE NAME:(OE BOOK) ... *** ACTION NAME:(4a782ce58c4c462990547500d2fd308d) ... PARSE ... EXEC ... WAIT ... ... *** CLIENT ID:(10.17.22.57 FFORBES) ... *** MODULE NAME:(OE BOOK) ... *** ACTION NAME:(2c920fc0fb91473ab4c141423e450715) ... PARSE ... WAIT ... EXEC ... ... *** CLIENT ID:(10.17.22.241 FCHANG) ... *** MODULE NAME:(OE BOOK) ... *** ACTION NAME:(396f1348b5364d578e1815e74e910b43) ... EXEC ... WAIT ... FETCH ... ... 24
  • 25. ACTION Trace file line ------------- ----------------------------------------------------------- @CaryMillsap *** CLIENT ID:(10.17.21.198 FCHANG) ... *** MODULE NAME:(OE BOOK) ... *** ACTION NAME:(4a782ce58c4c462990547500d2fd308d) ... PARSE ... EXEC ... WAIT ... ... *** CLIENT ID:(10.17.22.57 FFORBES) ... *** MODULE NAME:(OE BOOK) ... *** ACTION NAME:(2c920fc0fb91473ab4c141423e450715) ... PARSE ... WAIT ... EXEC ... ... *** CLIENT ID:(10.17.22.241 FCHANG) ... *** MODULE NAME:(OE BOOK) ... *** ACTION NAME:(396f1348b5364d578e1815e74e910b43) ... EXEC ... WAIT ... FETCH ... ... 25 4a782ce5... 4a782ce5... 4a782ce5... 4a782ce5... 2c920fc0... 2c920fc0... 2c920fc0... 2c920fc0... 396f1348... 396f1348... 396f1348... 396f1348...
  • 26. $ mrskew --group='"$act $mod $client_id"' ... --top=10 *trc ACTION MODULE CLIENT_ID DURATION % CALLS MEAN MIN --------------------------------------------------------------- --------- ------ ------ -------- -------- c9a65ad7c62a4de9bb4ad118d9a5eda3 OE BOOK 10.17.23.41 AGREEN 3.162362 3.6% 604 0.005236 0.000000 b4748d88eea44d81a406e341ea36548f OE BOOK 10.17.22.14 GLAMB 3.115821 3.5% 604 0.005159 0.000000 f685757c77dd4b15a15d8ce811ee7390 OE BOOK 10.17.23.163 YJUSTICE 1.000578 1.1% 604 0.001657 0.000000 5d14953834e74063836678babf51e072 OE BOOK 10.17.22.227 USILVA 0.942317 1.1% 604 0.001560 0.000000 390c18ebfcd84e418b004c71bb3c0589 OE BOOK 10.17.21.63 WEVANS 0.914806 1.0% 604 0.001515 0.000000 2e5316d0cff448afa5f20de22c044409 OE BOOK 10.17.23.68 VMAYNARD 0.864778 1.0% 604 0.001432 0.000000 3db7b83fdad34b4289ca06cffaa5e711 OE BOOK 10.17.23.212 JSTRONG 0.786390 0.9% 604 0.001302 0.000000 f0135a649e124aefb8fb8069bb5bc16d OE BOOK 10.17.22.25 RHOPPER 0.780173 0.9% 604 0.001292 0.000000 93ff740851704d6dbcac5579e585dd61 OE BOOK 10.17.22.219 FWALLACE 0.758373 0.9% 604 0.001256 0.000000 ff784d033478490b899b5d04814a1ca8 OE BOOK 10.17.21.246 FROWLAND 0.750675 0.9% 604 0.001243 0.000000 2,275 others 75.188801 85.2% 10,915 0.006889 0.000000 -------------------------------------------------------------- --------- ------ ------ -------- -------- TOTAL (2,285) 88.265074 100.0% 16,955 0.005206 0.000000 @CaryMillsap 26
  • 27. $ mrskew --group='"$act $mod $client_id"' ... --top=10 *trc ACTION MODULE CLIENT_ID DURATION % CALLS MEAN MIN -------------------------------------------------------------- --------- ------ ------ -------- -------- c9a65ad7c62a4de9bb4ad118d9a5eda3 OE BOOK 10.17.23.41 AGREEN 3.162362 3.6% 604 0.005236 0.000000 b4748d88eea44d81a406e341ea36548f OE BOOK 10.17.22.14 GLAMB 3.115821 3.5% 604 0.005159 0.000000 f685757c77dd4b15a15d8ce811ee7390 OE BOOK 10.17.23.163 YJUSTICE 1.000578 1.1% 604 0.001657 0.000000 5d14953834e74063836678babf51e072 OE BOOK 10.17.22.227 USILVA 0.942317 1.1% 604 0.001560 0.000000 390c18ebfcd84e418b004c71bb3c0589 OE BOOK 10.17.21.63 WEVANS 0.914806 1.0% 604 0.001515 0.000000 2e5316d0cff448afa5f20de22c044409 OE BOOK 10.17.23.68 VMAYNARD 0.864778 1.0% 604 0.001432 0.000000 3db7b83fdad34b4289ca06cffaa5e711 OE BOOK 10.17.23.212 JSTRONG 0.786390 0.9% 604 0.001302 0.000000 f0135a649e124aefb8fb8069bb5bc16d OE BOOK 10.17.22.25 RHOPPER 0.780173 0.9% 604 0.001292 0.000000 93ff740851704d6dbcac5579e585dd61 OE BOOK 10.17.22.219 FWALLACE 0.758373 0.9% 604 0.001256 0.000000 ff784d033478490b899b5d04814a1ca8 OE BOOK 10.17.21.246 FROWLAND 0.750675 0.9% 604 0.001243 0.000000 2,275 others 75.188801 85.2% 10,915 0.006889 0.000000 -------------------------------------------------------------- --------- ------ ------ -------- -------- TOTAL (2,285) 88.265074 100.0% 16,955 0.005206 0.000000 $ mrskew --where='$act eq "c9a65ad7c62a4de9bb4ad118d9a5eda3"' *trc CALL-NAME DURATION % CALLS MEAN MIN MAX --------------------------- -------- ------ ----- -------- -------- -------- SQL*Net message from client 3.161922 100.0% 201 0.015731 0.001619 0.135835 SQL*Net message to client 0.000440 0.0% 201 0.000002 0.000000 0.000027 FETCH 0.000000 0.0% 201 0.000000 0.000000 0.000000 EXEC 0.000000 0.0% 1 0.000000 0.000000 0.000000 --------------------------- -------- ------ ----- -------- -------- -------- TOTAL (4) 3.162362 100.0% 604 0.005236 0.000000 0.135835 @CaryMillsap 27
  • 28. @CaryMillsap Each experience gets its own unique id. 28
  • 29. @CaryMillsap ...So you can measure and diagnose what people feel. 29
  • 30. @CaryMillsap ...So you can measure and diagnose performance. 30
  • 31. @CaryMillsap For more... http://amzn.to/173bpzg 31