Upload
stephen-fishman
View
139
Download
0
Embed Size (px)
DESCRIPTION
Talk at 2014 Velocity Santa Clara Conference on utilizing the Keynote Systems API to help manage automate the reporting of performance metrics
Citation preview
Q: What do APIs and cats have in common?
A: They are both AWESOME!
Before we get to the cats....
Stephen FishmanDirector, Consumer Platforms
Autotrader.com
Robert TanzolaManager, Technical Architecture
Autotrader.com
Abelardo GonzalezDirector, Product Management
Keynote Systems
Full Dislosure : We are all dog people
And now, back to your regularly scheduled programming of cats.
Not much has changed since ancient Egypt...
We are still writing on walls and worshipping cats
One question remains: Are more cats are better than less cats?
This is one of the mysteries of the universe...
Maybe we can solve this mystery by looking from a different perspective
The most ardent lovers of cats are just like people who sell ads on media sites
They both believe “more is better”... No matter what the cost
Which kinda sucks if it’s your job to herd the cats
One of IT’s prime jobs in a well monetized media site, is to make it possible for our cat lovers (i.e., sales) to have more and more and more cats (i.e., ads) on our site while simultaneously improving the page performance of our site.
This is a story of our journey as cat herders
At Autotrader, We Have A 25-Page Daily Performance Dashboard
Managing Performance Is Good!
We Have A Team Of Four Who Manually Produces This Every Day
Manually Managing Performance Is Bad!
But It Does Not Have to Be That Way!
Automation + Performance Management = Transparency + Real Time Visibility
Transparency + Real Time Visibility = Executive Attention
For those who don’t know... Executive Attention Creates Movement
Keynote REST API
• http://api.keynote.com/ - JSON or XML output
•Available Services
•Get Test “Slot” meta data (getslotmetadata)
•Get Test measurement results (getgraphdata)
•And more…
The API is Listening
To get Keynote graph data:
https://api.keynote.com/keynote/api/getgraphdata?api_key=[api key]slotidlist=845480&format=json&transpagelist=845480:5&pagecomponent=x,@,u,f,y,m
JSON Results:
"measurement" : [ { "id" : "1105572", "alias" : “AutoTrader Home Page(TxP)[IE] - Total Time (seconds)", "bucket_data" : [ { "name" : "2012-MAY-06 11:18 AM", "id" : 1, "perf_data" : { "value" : "3.393", "unit" : "seconds" }, "avail_data" : { "value" : "100", "unit" : "percent" }, "data_count" : { "value" : "40", "unit" : "#" }. . . (more)
Data Processing Tech Stack•Python 2.7
• HTTP handling
• JSON parsing
• Storage & Transformation
• ELK (ElasticSearch, Logstash, Kibana)
• Graphite
• MySQL
• d3
• Automated email
• Threshold validation
• Minimum and Maximum range
Email Based Alerting
Overcoming Challenges•Data Storage
• Splunk vs ELK
•Valid Metrics
• Median vs Mode
• Browser Variations
• Application Error vs Measurement Error
•Notification Challenges
• Accountable vs Responsible
And now, a word from our sponsor.
Keynote APIIntegrating Keynote data into other
dashboards and applications
About the Keynote API§ RESTful Web service§ Direct data access
- Raw & aggregate data download- Direct dashboard download- Object level performance (July 2014)
§ Alarm polling access (Beta)
- Access the status of any Keynote alarm- Evaluate/generate alarm on-demand- Execute instant measurement- Manage and edit all alarms
Keynote lobby, San Mateo, Calif.
IT Management Integration§ Keynote API allows integration with multiple platforms
Integration Scenarios§ Integrating Keynote data into a Dashboard and using a correlation engine
to better manage alarms§ Directly importing alarm information into a ticketing system allowing for
better management of incidents§ The flexibility of the Keynote API allows integration to many 3rd party
platforms§ Keynote has sample custom integrations available at https://github.com/
KeynoteSystems/Keynote-Apps
Enhanced Reporting§ Integration with Google Docs
- Allow data to be directly imported to a spreadsheet for easier custom reports
§ Integration with Microsoft Excel- Direct calls within Excel can download data using Get External Data from Web
Questions?