SlideShare a Scribd company logo
1 of 53
Download to read offline
OBSERVABILITY: NOT JUST
AN OPS THING
@cyen
@honeycombio
OBSERVABILITY THE DEV PROCESS
OBSERVABILITY THE DEV PROCESS
The practice of understanding
the internal state of a system
via knowledge of its external
outputs.
Wikipedia (paraphrased)
OBSERVABILITY THE DEV PROCESS
Twitter hive mind
OBSERVABILITY THE DEV PROCESS
The ability to answer
questions about your
system, using data
OBSERVABILITY THE DEV PROCESS
The ability to answer
questions about your
system, using data
DECIDE IT
OBSERVABILITY THE DEV PROCESS
The ability to answer
questions about your
system, using data
DECIDE IT
BUILD IT
OBSERVABILITY THE DEV PROCESS
The ability to answer
questions about your
system, using data
DECIDE IT
VERIFY IT
BUILD IT
OBSERVABILITY THE DEV PROCESS
The ability to answer
questions about your
system, using data
DECIDE IT
VERIFY IT (ON MY MACHINE)
BUILD IT
OBSERVABILITY THE DEV PROCESS
The ability to answer
questions about your
system, using data
DECIDE IT
…?
VERIFY IT (ON MY MACHINE)
BUILD IT
OBSERVABILITY THE DEV PROCESS
The ability to answer
questions about your
system, using data
DECIDE IT
BUILD IT
VERIFY IT (ON MY MACHINE)
VERIFY IT (IN PRODUCTION)
OBSERVABILITY THE DEV PROCESS
The ability to answer
questions about your
system, using data
DECIDE IT
BUILD IT
VERIFY IT (ON MY MACHINE)
VERIFY IT (IN PRODUCTION)
WATCH IT
OBSERVABILITY THE DEV PROCESS
The ability to answer
questions about your
system, using data
DECIDE IT
BUILD IT
VERIFY IT (ON MY MACHINE)
VERIFY IT (IN PRODUCTION)
WATCH IT
OBSERVABILITY THE DEV PROCESS
The ability to answer
questions about your
system, using data
DECIDE IT
BUILD IT
VERIFY IT (ON MY MACHINE)
VERIFY IT (IN PRODUCTION)
WATCH IT
OBSERVABILITY THE DEV PROCESS
How do my error rates look these days?
Have things gotten slower over time?
OBSERVABILITY THE DEV PROCESS
How do my error rates look these days?
Have things gotten slower over time?
What does my service look like from this one annoying
customer’s perspective?
OBSERVABILITY THE DEV PROCESS
How do my error rates look these days?
Have things gotten slower over time?
What will the impact be, of this change we’re planning?
What does my service look like from that one huge, annoying
customer’s perspective?
OBSERVABILITY THE DEV PROCESS
How do my error rates look these days?
Have things gotten slower over time?
What will the impact be, of this change we’re planning?
What does "normal" look like these days? Does it line
up with what I thought?
What does my service look like from that one huge, annoying
customer’s perspective?
OBSERVABILITY THE DEV PROCESS
The ability to answer
questions about your
system, using data
DECIDE IT
BUILD IT
VERIFY IT (ON MY MACHINE)
VERIFY IT (IN PRODUCTION)
WATCH IT
&
WHY DOES THIS MATTER SO MUCH TO ME?
▸ How’s our load? Is it spread reasonably evenly across our Kafka
partitions?
▸ Did latency increase in our API server? How does our new
batching endpoint compare to our old RESTy endpoint?
▸ How did those recent memory optimizations affect our query-
serving capacity?
▸ How’s our load? Are high-volume customers spread reasonably
evenly across our Kafka partitions?
▸ Did latency increase in our API server? Which customers were
impacted the most? And who’ll benefit the most from batching?
▸ How did those recent memory optimizations affect our query-
serving capacity for customers with string-heavy payloads?
OK. SO WHAT DOES THIS LOOK LIKE?
DECIDE IT
BUILD IT
VERIFY IT
(WFM🤘)
VERIFY IT
(IN PROD)
WATCH IT
BUILD IT
DECIDE IT
VERIFY IT
(WFM🤘)
VERIFY IT
(IN PROD)
WATCH IT
BUILD IT
DECIDE IT
VERIFY IT
(WFM🤘)
VERIFY IT
(IN PROD)
WATCH IT
DECIDE IT
VERIFY IT
(WFM🤘)
VERIFY IT
(IN PROD)
WATCH IT
BUILD IT
DECIDE IT
VERIFY IT
(WFM🤘)
VERIFY IT
(IN PROD)
WATCH IT
BUILD IT
DECIDE IT
VERIFY IT
(WFM🤘)
VERIFY IT
(IN PROD)
WATCH IT
BUILD IT
DECIDE IT
VERIFY IT
(WFM🤘)
VERIFY IT
(IN PROD)
WATCH IT
BUILD IT
Like debug statements
in production data
BUILD IT
DECIDE IT
VERIFY IT
(WFM🤘)
VERIFY IT
(IN PROD)
WATCH IT
🏁
BUILD IT
DECIDE IT
VERIFY IT
(WFM🤘)
VERIFY IT
(IN PROD)
WATCH IT
🏁
Feature flags and flexible observability tools = manual canarying
… except we can do it for everything
👾
BUILD IT
DECIDE IT
VERIFY IT
(WFM🤘)
VERIFY IT
(IN PROD)
WATCH IT
🏁
👾
BUILD IT
DECIDE IT
VERIFY IT
(WFM🤘)
VERIFY IT
(IN PROD)
WATCH IT
🏁
👾
BUILD IT
DECIDE IT
VERIFY IT
(WFM🤘)
VERIFY IT
(IN PROD)
WATCH IT
BUILD IT
DECIDE IT
VERIFY IT
(WFM🤘)
VERIFY IT
(IN PROD)
WATCH IT
DECIDE IT
VERIFY IT
(WFM🤘)
VERIFY IT
(IN PROD)
WATCH IT
BUILD IT
BUILD ID
FEATURE FLAGS
CUSTOMER IDS
BUILD ID
FEATURE FLAGS
CUSTOMER IDS
GRAPHS
ALERTS
CODE
RELEASES
1. HYPOTHESIS
2. INSTRUMENTATION (MAYBE)
3. VALIDATION (OR NOT)
4. ONWARD
TAKING THE FIRST FEW STEPS
CONCEPTUALLY
▸ Start at the edge with basic, common attributes (e.g. HTTP)
▸ Start at the edge with basic, common attributes (e.g. HTTP)
▸ Business-relevant or infrastructure-specific characteristics (e.g.
customer ID, DB replica set)
CONCEPTUALLY
▸ Start at the edge with basic, common attributes (e.g. HTTP)
▸ Business-relevant or infrastructure-specific characteristics (e.g.
customer ID, DB replica set)
▸ Temporary additional fields for validating hypotheses
CONCEPTUALLY
▸ Start at the edge with basic, common attributes (e.g. HTTP)
▸ Business-relevant or infrastructure-specific characteristics (e.g.
customer ID, DB replica set)
▸ Temporary additional fields for validating hypotheses
▸ Prune stale fields (if necessary)
CONCEPTUALLY
▸ Contextual, structured data
SOME BEST PRACTICES
▸ Contextual, structured data
▸ Common set of nouns and consistent naming
SOME BEST PRACTICES
▸ Contextual, structured data
▸ Common set of nouns and consistent naming
▸ Don't be dogmatic; let the use case dictate the ingest pattern
SOME BEST PRACTICES
▸ Contextual, structured data
▸ Common set of nouns and consistent naming
▸ Don't be dogmatic; let the use case dictate the ingest pattern
▸ e.g. instrumenting individual reads while batching writes
SOME BEST PRACTICES
AN EXAMPLE SCHEMA EVOLUTION
first pass:
- server_hostname
- method
- url
- build_id
- remote_addr
- request_id
- status
- x_forwarded_for
- error
- event_time
- team_id
- payload_size
- sample_rate
then we added:
- dropped
- get_schema_dur_ms
- protobuf_encoding_dur_ms
- kafka_write_dur_ms
- request_dur_ms
- json_decoding_dur_ms +others
a couple of days later, we added:
- offset
- kafka_topic
- chosen_partition
after that:
- memory_inuse
- num_goroutines
a week after that:
- warning
- drop_reason
and on and on, adding 2-3 fields
every couple of weeks:
- user_agent
- unknown_columns
- dataset_partitions
- dataset_id
- dataset_name
- api_version
- create_marker_dur_ms
- marker_id
- nil_value_for_columns
- batch
- gzipped
- batch_datapoint_lens
- batch_num_datasets
- batch_process_datapoints_dur_ms
- batch_validate_datasets_dur_ms
- batch_dataset_names
- dataset_columns
- event_columns
▸ Stop writing software based on intuition, start backing it up with
data
▸ Teach observability tools to speak more than "Ops"
▸ ??? (← a.k.a., Ask lots of questions and validate hypotheses)
▸ Profit!
DEVELOPERS, OUR MISSION:
THANKS!@cyen

More Related Content

Similar to Influx/Days 2017 San Francisco | Christine Yen

How Product Managers Thrive in a DevOps World
How Product Managers Thrive in a DevOps WorldHow Product Managers Thrive in a DevOps World
How Product Managers Thrive in a DevOps WorldAtlassian
 
IT automation: Make the server great again - toulouse devops fev 2017
IT automation: Make the server great again  - toulouse devops fev 2017IT automation: Make the server great again  - toulouse devops fev 2017
IT automation: Make the server great again - toulouse devops fev 2017Quentin Adam
 
José Antonio Ruiz Santiago | JModern processes and workflows orchestration in...
José Antonio Ruiz Santiago | JModern processes and workflows orchestration in...José Antonio Ruiz Santiago | JModern processes and workflows orchestration in...
José Antonio Ruiz Santiago | JModern processes and workflows orchestration in...Codemotion
 
flowr streamlining computing workflows
flowr streamlining computing workflowsflowr streamlining computing workflows
flowr streamlining computing workflowssahil seth
 
Software Architecture Anti-Patterns
Software Architecture Anti-PatternsSoftware Architecture Anti-Patterns
Software Architecture Anti-PatternsEduards Sizovs
 
NEW LAUNCH! Hear how OwnZones is using AWS Elemental MediaConvert to help med...
NEW LAUNCH! Hear how OwnZones is using AWS Elemental MediaConvert to help med...NEW LAUNCH! Hear how OwnZones is using AWS Elemental MediaConvert to help med...
NEW LAUNCH! Hear how OwnZones is using AWS Elemental MediaConvert to help med...Amazon Web Services
 
Docker enables agile_devops
Docker enables agile_devopsDocker enables agile_devops
Docker enables agile_devopsBoyd Hemphill
 
Orchestration vs Choreography - A Guide To Composing Your Monolith
Orchestration vs Choreography - A Guide To Composing Your MonolithOrchestration vs Choreography - A Guide To Composing Your Monolith
Orchestration vs Choreography - A Guide To Composing Your MonolithIan Thomas
 
Velocity NY 2016 - Devops: Who Does What?
Velocity NY 2016 - Devops: Who Does What?Velocity NY 2016 - Devops: Who Does What?
Velocity NY 2016 - Devops: Who Does What?cornelia davis
 
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...Lace Lofranco
 
Fraud Detection with Hadoop
Fraud Detection with HadoopFraud Detection with Hadoop
Fraud Detection with Hadoopmarkgrover
 
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity Rundeck
 
Data driven devops as presented at Codemash 2018
Data driven devops as presented at Codemash 2018Data driven devops as presented at Codemash 2018
Data driven devops as presented at Codemash 2018Baruch Sadogursky
 
Modern day jvm controversies
Modern day jvm controversiesModern day jvm controversies
Modern day jvm controversiesVictorSzoltysek
 
From Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.auFrom Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.auevanbottcher
 
Continuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsContinuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsMike Brittain
 
Devops: Who Does What? - Devops Enterprise Summit 2016
Devops: Who Does What? - Devops Enterprise Summit 2016Devops: Who Does What? - Devops Enterprise Summit 2016
Devops: Who Does What? - Devops Enterprise Summit 2016cornelia davis
 
Database Refactoring With Liquibase
Database Refactoring With LiquibaseDatabase Refactoring With Liquibase
Database Refactoring With LiquibaseIASA
 
Agile Database Development with Liquibase
Agile Database Development with LiquibaseAgile Database Development with Liquibase
Agile Database Development with LiquibaseTim Berglund
 

Similar to Influx/Days 2017 San Francisco | Christine Yen (20)

How Product Managers Thrive in a DevOps World
How Product Managers Thrive in a DevOps WorldHow Product Managers Thrive in a DevOps World
How Product Managers Thrive in a DevOps World
 
IT automation: Make the server great again - toulouse devops fev 2017
IT automation: Make the server great again  - toulouse devops fev 2017IT automation: Make the server great again  - toulouse devops fev 2017
IT automation: Make the server great again - toulouse devops fev 2017
 
José Antonio Ruiz Santiago | JModern processes and workflows orchestration in...
José Antonio Ruiz Santiago | JModern processes and workflows orchestration in...José Antonio Ruiz Santiago | JModern processes and workflows orchestration in...
José Antonio Ruiz Santiago | JModern processes and workflows orchestration in...
 
Infrastructure Gone Wild
Infrastructure Gone WildInfrastructure Gone Wild
Infrastructure Gone Wild
 
flowr streamlining computing workflows
flowr streamlining computing workflowsflowr streamlining computing workflows
flowr streamlining computing workflows
 
Software Architecture Anti-Patterns
Software Architecture Anti-PatternsSoftware Architecture Anti-Patterns
Software Architecture Anti-Patterns
 
NEW LAUNCH! Hear how OwnZones is using AWS Elemental MediaConvert to help med...
NEW LAUNCH! Hear how OwnZones is using AWS Elemental MediaConvert to help med...NEW LAUNCH! Hear how OwnZones is using AWS Elemental MediaConvert to help med...
NEW LAUNCH! Hear how OwnZones is using AWS Elemental MediaConvert to help med...
 
Docker enables agile_devops
Docker enables agile_devopsDocker enables agile_devops
Docker enables agile_devops
 
Orchestration vs Choreography - A Guide To Composing Your Monolith
Orchestration vs Choreography - A Guide To Composing Your MonolithOrchestration vs Choreography - A Guide To Composing Your Monolith
Orchestration vs Choreography - A Guide To Composing Your Monolith
 
Velocity NY 2016 - Devops: Who Does What?
Velocity NY 2016 - Devops: Who Does What?Velocity NY 2016 - Devops: Who Does What?
Velocity NY 2016 - Devops: Who Does What?
 
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...
 
Fraud Detection with Hadoop
Fraud Detection with HadoopFraud Detection with Hadoop
Fraud Detection with Hadoop
 
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
 
Data driven devops as presented at Codemash 2018
Data driven devops as presented at Codemash 2018Data driven devops as presented at Codemash 2018
Data driven devops as presented at Codemash 2018
 
Modern day jvm controversies
Modern day jvm controversiesModern day jvm controversies
Modern day jvm controversies
 
From Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.auFrom Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.au
 
Continuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsContinuous Deployment: The Dirty Details
Continuous Deployment: The Dirty Details
 
Devops: Who Does What? - Devops Enterprise Summit 2016
Devops: Who Does What? - Devops Enterprise Summit 2016Devops: Who Does What? - Devops Enterprise Summit 2016
Devops: Who Does What? - Devops Enterprise Summit 2016
 
Database Refactoring With Liquibase
Database Refactoring With LiquibaseDatabase Refactoring With Liquibase
Database Refactoring With Liquibase
 
Agile Database Development with Liquibase
Agile Database Development with LiquibaseAgile Database Development with Liquibase
Agile Database Development with Liquibase
 

More from InfluxData

Announcing InfluxDB Clustered
Announcing InfluxDB ClusteredAnnouncing InfluxDB Clustered
Announcing InfluxDB ClusteredInfluxData
 
Best Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow EcosystemBest Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow EcosystemInfluxData
 
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...InfluxData
 
Power Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDBPower Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDBInfluxData
 
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base InfluxData
 
Build an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING StackBuild an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING StackInfluxData
 
Meet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using RustMeet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using RustInfluxData
 
Introducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud DedicatedIntroducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud DedicatedInfluxData
 
Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB InfluxData
 
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...InfluxData
 
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...InfluxData
 
Introducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage EngineIntroducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage EngineInfluxData
 
Start Automating InfluxDB Deployments at the Edge with balena
Start Automating InfluxDB Deployments at the Edge with balena Start Automating InfluxDB Deployments at the Edge with balena
Start Automating InfluxDB Deployments at the Edge with balena InfluxData
 
Understanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage EngineUnderstanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage EngineInfluxData
 
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDBStreamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDBInfluxData
 
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...InfluxData
 
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022InfluxData
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022InfluxData
 
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...InfluxData
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022InfluxData
 

More from InfluxData (20)

Announcing InfluxDB Clustered
Announcing InfluxDB ClusteredAnnouncing InfluxDB Clustered
Announcing InfluxDB Clustered
 
Best Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow EcosystemBest Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow Ecosystem
 
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
 
Power Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDBPower Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDB
 
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
 
Build an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING StackBuild an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING Stack
 
Meet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using RustMeet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using Rust
 
Introducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud DedicatedIntroducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud Dedicated
 
Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB
 
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
 
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
 
Introducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage EngineIntroducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage Engine
 
Start Automating InfluxDB Deployments at the Edge with balena
Start Automating InfluxDB Deployments at the Edge with balena Start Automating InfluxDB Deployments at the Edge with balena
Start Automating InfluxDB Deployments at the Edge with balena
 
Understanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage EngineUnderstanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage Engine
 
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDBStreamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
 
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
 
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
 
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
 

Recently uploaded

Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsThierry TROUIN ☁
 
Complet Documnetation for Smart Assistant Application for Disabled Person
Complet Documnetation   for Smart Assistant Application for Disabled PersonComplet Documnetation   for Smart Assistant Application for Disabled Person
Complet Documnetation for Smart Assistant Application for Disabled Personfurqan222004
 
Denver Web Design brochure for public viewing
Denver Web Design brochure for public viewingDenver Web Design brochure for public viewing
Denver Web Design brochure for public viewingbigorange77
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一3sw2qly1
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With RoomVIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Roomdivyansh0kumar0
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Lucknow
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Roomdivyansh0kumar0
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Roomishabajaj13
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts servicevipmodelshub1
 
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on DeliveryCall Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Deliverybabeytanya
 

Recently uploaded (20)

Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with Flows
 
Complet Documnetation for Smart Assistant Application for Disabled Person
Complet Documnetation   for Smart Assistant Application for Disabled PersonComplet Documnetation   for Smart Assistant Application for Disabled Person
Complet Documnetation for Smart Assistant Application for Disabled Person
 
Denver Web Design brochure for public viewing
Denver Web Design brochure for public viewingDenver Web Design brochure for public viewing
Denver Web Design brochure for public viewing
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With RoomVIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
 
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on DeliveryCall Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
 

Influx/Days 2017 San Francisco | Christine Yen

  • 1. OBSERVABILITY: NOT JUST AN OPS THING @cyen @honeycombio
  • 3. OBSERVABILITY THE DEV PROCESS The practice of understanding the internal state of a system via knowledge of its external outputs. Wikipedia (paraphrased)
  • 4. OBSERVABILITY THE DEV PROCESS Twitter hive mind
  • 5. OBSERVABILITY THE DEV PROCESS The ability to answer questions about your system, using data
  • 6. OBSERVABILITY THE DEV PROCESS The ability to answer questions about your system, using data DECIDE IT
  • 7. OBSERVABILITY THE DEV PROCESS The ability to answer questions about your system, using data DECIDE IT BUILD IT
  • 8. OBSERVABILITY THE DEV PROCESS The ability to answer questions about your system, using data DECIDE IT VERIFY IT BUILD IT
  • 9. OBSERVABILITY THE DEV PROCESS The ability to answer questions about your system, using data DECIDE IT VERIFY IT (ON MY MACHINE) BUILD IT
  • 10. OBSERVABILITY THE DEV PROCESS The ability to answer questions about your system, using data DECIDE IT …? VERIFY IT (ON MY MACHINE) BUILD IT
  • 11. OBSERVABILITY THE DEV PROCESS The ability to answer questions about your system, using data DECIDE IT BUILD IT VERIFY IT (ON MY MACHINE) VERIFY IT (IN PRODUCTION)
  • 12. OBSERVABILITY THE DEV PROCESS The ability to answer questions about your system, using data DECIDE IT BUILD IT VERIFY IT (ON MY MACHINE) VERIFY IT (IN PRODUCTION) WATCH IT
  • 13. OBSERVABILITY THE DEV PROCESS The ability to answer questions about your system, using data DECIDE IT BUILD IT VERIFY IT (ON MY MACHINE) VERIFY IT (IN PRODUCTION) WATCH IT
  • 14. OBSERVABILITY THE DEV PROCESS The ability to answer questions about your system, using data DECIDE IT BUILD IT VERIFY IT (ON MY MACHINE) VERIFY IT (IN PRODUCTION) WATCH IT
  • 15. OBSERVABILITY THE DEV PROCESS How do my error rates look these days? Have things gotten slower over time?
  • 16. OBSERVABILITY THE DEV PROCESS How do my error rates look these days? Have things gotten slower over time? What does my service look like from this one annoying customer’s perspective?
  • 17. OBSERVABILITY THE DEV PROCESS How do my error rates look these days? Have things gotten slower over time? What will the impact be, of this change we’re planning? What does my service look like from that one huge, annoying customer’s perspective?
  • 18. OBSERVABILITY THE DEV PROCESS How do my error rates look these days? Have things gotten slower over time? What will the impact be, of this change we’re planning? What does "normal" look like these days? Does it line up with what I thought? What does my service look like from that one huge, annoying customer’s perspective?
  • 19. OBSERVABILITY THE DEV PROCESS The ability to answer questions about your system, using data DECIDE IT BUILD IT VERIFY IT (ON MY MACHINE) VERIFY IT (IN PRODUCTION) WATCH IT &
  • 20. WHY DOES THIS MATTER SO MUCH TO ME?
  • 21. ▸ How’s our load? Is it spread reasonably evenly across our Kafka partitions? ▸ Did latency increase in our API server? How does our new batching endpoint compare to our old RESTy endpoint? ▸ How did those recent memory optimizations affect our query- serving capacity?
  • 22. ▸ How’s our load? Are high-volume customers spread reasonably evenly across our Kafka partitions? ▸ Did latency increase in our API server? Which customers were impacted the most? And who’ll benefit the most from batching? ▸ How did those recent memory optimizations affect our query- serving capacity for customers with string-heavy payloads?
  • 23.
  • 24. OK. SO WHAT DOES THIS LOOK LIKE?
  • 25. DECIDE IT BUILD IT VERIFY IT (WFM🤘) VERIFY IT (IN PROD) WATCH IT
  • 26. BUILD IT DECIDE IT VERIFY IT (WFM🤘) VERIFY IT (IN PROD) WATCH IT
  • 27. BUILD IT DECIDE IT VERIFY IT (WFM🤘) VERIFY IT (IN PROD) WATCH IT
  • 28. DECIDE IT VERIFY IT (WFM🤘) VERIFY IT (IN PROD) WATCH IT BUILD IT
  • 29. DECIDE IT VERIFY IT (WFM🤘) VERIFY IT (IN PROD) WATCH IT BUILD IT
  • 30. DECIDE IT VERIFY IT (WFM🤘) VERIFY IT (IN PROD) WATCH IT BUILD IT
  • 31. DECIDE IT VERIFY IT (WFM🤘) VERIFY IT (IN PROD) WATCH IT BUILD IT Like debug statements in production data
  • 32. BUILD IT DECIDE IT VERIFY IT (WFM🤘) VERIFY IT (IN PROD) WATCH IT 🏁
  • 33. BUILD IT DECIDE IT VERIFY IT (WFM🤘) VERIFY IT (IN PROD) WATCH IT 🏁 Feature flags and flexible observability tools = manual canarying … except we can do it for everything 👾
  • 34. BUILD IT DECIDE IT VERIFY IT (WFM🤘) VERIFY IT (IN PROD) WATCH IT 🏁 👾
  • 35. BUILD IT DECIDE IT VERIFY IT (WFM🤘) VERIFY IT (IN PROD) WATCH IT 🏁 👾
  • 36. BUILD IT DECIDE IT VERIFY IT (WFM🤘) VERIFY IT (IN PROD) WATCH IT
  • 37. BUILD IT DECIDE IT VERIFY IT (WFM🤘) VERIFY IT (IN PROD) WATCH IT
  • 38. DECIDE IT VERIFY IT (WFM🤘) VERIFY IT (IN PROD) WATCH IT BUILD IT
  • 40. BUILD ID FEATURE FLAGS CUSTOMER IDS GRAPHS ALERTS CODE RELEASES
  • 41. 1. HYPOTHESIS 2. INSTRUMENTATION (MAYBE) 3. VALIDATION (OR NOT) 4. ONWARD
  • 42. TAKING THE FIRST FEW STEPS
  • 43. CONCEPTUALLY ▸ Start at the edge with basic, common attributes (e.g. HTTP)
  • 44. ▸ Start at the edge with basic, common attributes (e.g. HTTP) ▸ Business-relevant or infrastructure-specific characteristics (e.g. customer ID, DB replica set) CONCEPTUALLY
  • 45. ▸ Start at the edge with basic, common attributes (e.g. HTTP) ▸ Business-relevant or infrastructure-specific characteristics (e.g. customer ID, DB replica set) ▸ Temporary additional fields for validating hypotheses CONCEPTUALLY
  • 46. ▸ Start at the edge with basic, common attributes (e.g. HTTP) ▸ Business-relevant or infrastructure-specific characteristics (e.g. customer ID, DB replica set) ▸ Temporary additional fields for validating hypotheses ▸ Prune stale fields (if necessary) CONCEPTUALLY
  • 47. ▸ Contextual, structured data SOME BEST PRACTICES
  • 48. ▸ Contextual, structured data ▸ Common set of nouns and consistent naming SOME BEST PRACTICES
  • 49. ▸ Contextual, structured data ▸ Common set of nouns and consistent naming ▸ Don't be dogmatic; let the use case dictate the ingest pattern SOME BEST PRACTICES
  • 50. ▸ Contextual, structured data ▸ Common set of nouns and consistent naming ▸ Don't be dogmatic; let the use case dictate the ingest pattern ▸ e.g. instrumenting individual reads while batching writes SOME BEST PRACTICES
  • 51. AN EXAMPLE SCHEMA EVOLUTION
  • 52. first pass: - server_hostname - method - url - build_id - remote_addr - request_id - status - x_forwarded_for - error - event_time - team_id - payload_size - sample_rate then we added: - dropped - get_schema_dur_ms - protobuf_encoding_dur_ms - kafka_write_dur_ms - request_dur_ms - json_decoding_dur_ms +others a couple of days later, we added: - offset - kafka_topic - chosen_partition after that: - memory_inuse - num_goroutines a week after that: - warning - drop_reason and on and on, adding 2-3 fields every couple of weeks: - user_agent - unknown_columns - dataset_partitions - dataset_id - dataset_name - api_version - create_marker_dur_ms - marker_id - nil_value_for_columns - batch - gzipped - batch_datapoint_lens - batch_num_datasets - batch_process_datapoints_dur_ms - batch_validate_datasets_dur_ms - batch_dataset_names - dataset_columns - event_columns
  • 53. ▸ Stop writing software based on intuition, start backing it up with data ▸ Teach observability tools to speak more than "Ops" ▸ ??? (← a.k.a., Ask lots of questions and validate hypotheses) ▸ Profit! DEVELOPERS, OUR MISSION: THANKS!@cyen