OpenTelemetry for Mobile Apps: Challenges and Opportunities in Data Mob... Andrew Tunall & Hanson Ho

CNCF [Cloud Native Computing Foundation]
29 Jun 202418:13

Summary

TLDRThe presentation by Andrew and Hansen from Embrace focuses on the unique challenges and opportunities of implementing open telemetry for mobile apps. With 72% of digital transactions occurring on mobile devices, the need for robust observability is clear. However, mobile apps present unique issues such as variable network connectivity, diverse device types, and user-perceived performance. The speakers discuss the limitations of current proprietary systems and the need for a more unified approach, highlighting the importance of community involvement and adaptation of open telemetry to suit the mobile environment.

Takeaways

  • πŸ“± Mobile apps are increasingly important for digital transactions, with 72% happening on mobile devices, emphasizing the need for observability in this space.
  • πŸ” Open Telemetry is being adapted for mobile apps, aiming to provide a lingua franca for observability across backend, frontend, and mobile platforms.
  • πŸš€ Hansen, a former mobile performance engineer at Twitter, highlights the unique challenges of mobile observability, including variable network connectivity and a vast array of device types.
  • πŸ›  The current state of mobile observability is often limited to proprietary systems, which can be basic and not fully integrated with backend systems.
  • πŸ“‰ Mobile apps have different performance indicators compared to backend systems, where user-perceived performance is a critical component of service level objectives (SLOs).
  • πŸ”„ The data pipeline for telemetry from mobile devices is fragile, with potential data loss at various stages, impacting the reliability of observability.
  • πŸ“Š Open Telemetry (otel) was designed with backend-centric assumptions that do not always apply to mobile, requiring adaptation for effective mobile observability.
  • πŸ”§ There is a need for resilience in mobile telemetry tools, such as buffering data before transmission and handling incomplete data sets from the server.
  • πŸ€– Mobile developers may not be as familiar with concepts like tracing and context propagation, requiring more accessible APIs for effective instrumentation.
  • πŸ“ˆ Metrics from mobile devices need proper context and baselines for meaningful analysis, as the sheer diversity of devices and runtime environments complicates direct comparisons.
  • πŸ’‘ The call to action is for more participation and questions from the mobile ecosystem community to help evolve Open Telemetry to better suit mobile app observability needs.

Q & A

  • What is the main topic of the presentation by Andrew and Hansen from Embrace?

    -The main topic of the presentation is open telemetry for mobile apps, discussing its importance and the unique challenges faced in mobile observability.

  • What percentage of digital transactions in the previous year happened on a mobile device according to the script?

    -72% of digital transactions in the previous year happened on a mobile device.

  • What are some of the unique challenges that mobile apps face in terms of observability compared to backend systems?

    -Mobile apps face challenges such as dodgy network connectivity, massive cardinality of device types, different regions, OS versions, app versions, and the need to interact with backend distributed systems.

  • What is the issue with using proprietary systems for mobile observability and monitoring?

    -Proprietary systems often provide limited observability features like crash reporting and error tracking, which may not be sufficient for serious app developers who need more comprehensive data.

  • Why is user-perceived performance an important aspect to consider in mobile app observability?

    -User-perceived performance is important because it directly impacts the user experience and can lead to churn if users find the app consistently slow or unresponsive.

  • What does Hansen suggest is a fundamental problem with applying backend-centric observability tools to mobile platforms?

    -Hansen suggests that the fundamental problem is that these tools make basic assumptions and ask questions that do not align with the unique conditions and requirements of mobile environments.

  • What is the significance of Open Telemetry (otel) in the observability ecosystem?

    -Open Telemetry is significant as it serves as a lingua franca for observability, allowing different parts of a system to communicate using the same language and terms.

  • Why might traditional spans not be suitable for measuring certain types of performance in mobile apps?

    -Traditional spans may not be suitable because they are designed for backend-centric tracing, and mobile apps require a different approach that considers user sessions, network existence, and other factors that do not fit the span model.

  • What are some of the assumptions made by the Open Telemetry protocol and APIs that may not hold true on mobile?

    -Some assumptions include reliable telemetry recording and transmission, the ability to buffer data before sending, and the overhead of recording telemetry not significantly impacting performance.

  • How does the diversity of mobile developers' skill sets and experience affect the adoption of Open Telemetry?

    -The diversity can affect adoption because mobile developers may not be familiar with concepts like tracing, threads, and context propagation, which are foundational to Open Telemetry.

  • What is the proposed solution or improvement for Open Telemetry to better accommodate mobile app observability?

    -The proposed solution includes more participation from the community, asking questions, and using Open Telemetry in different ways to adapt it to the unique needs of mobile app observability.

Outlines

00:00

πŸ“± Mobile Observability Challenges

Andrew and Hansen from Embrace introduce the concept of open telemetry for mobile apps, highlighting the unique challenges of mobile observability. They emphasize the prevalence of mobile devices in digital transactions and the limitations of current proprietary systems. Andrew sets the stage by discussing the need for better observability in mobile apps, which are often treated as distributed systems but face unique issues such as variable network connectivity and a vast array of device types. Hansen, a former mobile performance engineer at Twitter, promises to delve into the specifics of these challenges and the importance of open telemetry in addressing them.

05:01

πŸ” The Fragility of Mobile Telemetry

Hansen discusses the fundamental differences between mobile and backend systems, pointing out the limitations of mobile devices such as unpredictable CPU and RAM resources, and the impact of user-perceived performance on service level objectives (SLOs). He highlights the fragility of data pipelines from mobile devices to backend systems, where data can be lost at various stages, and the importance of user experience in telemetry data. Hansen also touches on the limitations of open telemetry's (otel) application in mobile, given its design for backend-centric distributed tracing and the need for resilience in mobile telemetry tooling.

10:03

πŸ›  Adapting Open Telemetry for Mobile

This section delves into the specific issues with applying open telemetry to mobile apps, including the limitations of spans for measuring performance when user sessions are involved, the overhead of telemetry recording on mobile devices, and the assumptions made by open telemetry APIs that may not hold true for mobile developers. Hansen points out the need for resilience in telemetry, such as buffering data before sending it to the collector, and the importance of understanding the context of mobile app metrics, which are often presented without useful baselines or comparisons due to the vast variety of mobile environments.

15:05

🌐 The Need for Community Involvement in Mobile Observability

Hansen concludes by emphasizing the need for more participation and diverse questions in the open telemetry community to better address the unique needs of mobile apps. He calls for a broader understanding of user sessions and the importance of modeling them correctly to ask the right questions about mobile app performance. Andrew adds that entities and events are areas of ongoing work that could significantly improve mobile observability. The speakers encourage the audience to engage with them to help shape the future of open telemetry for mobile apps.

Mindmap

Keywords

πŸ’‘Open Telemetry

Open Telemetry is an observability framework for cloud-native software, aiming to provide a single way to capture metrics, logs, and traces. In the context of the video, it is discussed as a potential solution for mobile app observability but with some challenges due to the unique nature of mobile environments. The video mentions that Open Telemetry is the 'lingua franca of observability,' highlighting its role as a common language for different parts of a system to communicate.

πŸ’‘Mobile Apps

Mobile apps are software applications designed to run on mobile devices such as smartphones and tablets. The video emphasizes the importance of mobile apps in digital transactions and the unique challenges they present for observability, such as varying network conditions, device types, and operating systems. The script discusses how '72% of digital transactions last year happened on a mobile device,' indicating their significance.

πŸ’‘Observability

Observability in the context of software refers to the ability to understand the internal state of a system through external outputs. The video discusses the need for better observability in mobile apps to monitor and improve user experience and system performance. It is mentioned as a key aspect of the 'observability ecosystem' that has been evolving over the years.

πŸ’‘Distributed Systems

Distributed systems are a collection of autonomous computers that work together. The video points out that while mobile apps are not a distributed system, they interact with distributed systems, which introduces complexity in monitoring and tracing. The script notes that 'mobile apps are not a distributed system, they are installed software systems running on distributed compute resources.'

πŸ’‘Network Connectivity

Network connectivity refers to the ability of a device to access and exchange data with other devices or networks. The video script mentions 'sometimes dodgy network connectivity' as one of the challenges faced in mobile app environments, which can affect the performance and observability of mobile apps.

πŸ’‘Cardinality

In the context of the video, cardinality refers to the number of unique elements or combinations, particularly in terms of device models and chipsets. The script uses the term to describe the vast variety of devices that mobile apps must support, with an example of '42,000 different combinations of device models and chipsets.'

πŸ’‘Proprietary Systems

Proprietary systems are those owned by a single party and are not shared or made available to others. The video discusses the history of proprietary systems in mobile app monitoring, which has led to a lack of standardization and interoperability. It mentions that 'for most of its lifecycle, observability and monitoring in the mobile ecosystem has been mostly proprietary systems designed by vendors.'

πŸ’‘User Experience

User experience (UX) is the overall experience a user has while interacting with a system, including perceptions, attitudes, and emotions. The video emphasizes the importance of user-perceived performance in mobile apps and how it is a critical part of the observability puzzle. The script states that 'SLO on mobile apps is not purely based on operational performance' and includes user-perceived performance.

πŸ’‘SLOs (Service Level Objectives)

SLOs are objectives that specify the level of service a customer can expect from a system. In the video, SLOs are tied to customer-impacting metrics for mobile apps, indicating the importance of meeting certain performance standards. The script mentions that 'all of our customer impacting SLOs are directly tied to my mobile device.'

πŸ’‘Instrumentation

Instrumentation in software development refers to the process of adding code to an application to monitor and measure its performance. The video discusses the challenges of instrumentation in mobile apps, particularly due to the diverse and complex nature of mobile codebases. The script points out that 'instrumentation can be extremely brittle if you don't manage it in the right way.'

πŸ’‘Entities

In the context of the video, entities refer to the concept of modeling different aspects of mobile app usage and behavior as distinct units of data. The video suggests that entities could be a step forward in capturing and understanding mobile app data, as they can represent user sessions and other complex behaviors. The script mentions 'entities is I think going to be a great step' in the evolution of mobile app observability.

Highlights

Andrew and Hansen from Embrace discuss open telemetry for mobile apps, emphasizing the unique challenges mobile apps face in observability.

72% of digital transactions in the past year occurred on mobile devices, highlighting the importance of mobile app observability.

Mobile apps differ from distributed systems, presenting unique issues such as unreliable network connectivity and high device diversity.

Traditional observability in mobile has been limited to proprietary systems, lacking comprehensive monitoring and often restricted in data access.

Open Telemetry (otel) is introduced as a solution for unified observability across different platforms, but it was originally designed with backend-centric assumptions.

The presentation calls for action, inviting colleagues interested in the mobile ecosystem to contribute to the development of open telemetry for mobile.

Hansen explains the fundamental differences in mobile runtime environments, such as unpredictable CPU and RAM allocation and the influence of the OS on app performance.

Mobile SLOs are tied to user-perceived performance, which is difficult to measure with conventional metrics.

The data pipeline from mobile devices to backend systems is fragile, with potential data loss at various stages.

Open Telemetry's assumptions about data telemetry do not always hold true on mobile, necessitating resilience in tooling.

Mobile developers often have different skill sets and are accustomed to higher-level constructs, making traditional tracing concepts less accessible.

Mobile apps have millions of instances running on different devices, making it challenging to present metrics without proper context.

Hansen advocates for more participation and questioning in the development of open telemetry for mobile to address its unique requirements.

The presentation suggests that entities and events could be key advancements in open telemetry to better represent mobile app behavior.

Andrew discusses the concept of user sessions in mobile apps, emphasizing the unpredictability of user behavior and its impact on app performance.

The need for proper modeling of user engagement and technical data in mobile apps is highlighted to answer different types of performance questions.

The presentation concludes with an open invitation for discussion during lunch, encouraging further exploration of open telemetry in mobile.

Transcripts

play00:00

well we are the uh the presentation

play00:03

after the break so um people will filter

play00:05

in hopefully out of sheer excitement

play00:07

from what they're hearing

play00:09

um I am Andrew this is Hansen we are

play00:12

from Embrace and we're here to talk

play00:14

about uh open Telemetry for mobile apps

play00:18

um full disclosure I'm mostly here for I

play00:20

candy um I'm going to be doing a brief

play00:23

introduction as to why we're here and

play00:25

talking about this but the meat of the

play00:27

presentation is from Hansen who was

play00:28

formerly a um mobile performance

play00:30

engineer at Twitter uh he had about 45

play00:33

minutes of content that he's going to

play00:35

talk about in about 11: so we'll see how

play00:38

that

play00:39

goes um okay so uh why are we here uh

play00:45

for a minute consider that 72% of

play00:48

digital transactions last year happened

play00:50

on a mobile device now that wasn't all

play00:52

Native mobile apps some of it was mobile

play00:54

web but if you think about the most

play00:56

iconic brands that you interact with on

play00:58

your phone I'm gambling that most of

play01:00

them have a native app that you interact

play01:02

with on a pretty consistent

play01:05

basis and uh you know as we think about

play01:08

the observability ecosystem we've been

play01:10

spending I don't know 10 years really uh

play01:13

marching toward how we do observability

play01:16

better for backend systems open tracing

play01:19

open sensus were built for distributed

play01:21

systems uh but mobile apps are not a

play01:24

distributed system they are a installed

play01:28

Software System running on distributed

play01:30

compute resources that interact with

play01:32

distributed

play01:34

systems and there's a lot of unique

play01:38

challenges with that environment uh you

play01:41

have sometimes dodgy network

play01:43

connectivity you have um a massive

play01:46

cardinality of device types I think when

play01:48

we were looking at our uh the the number

play01:51

of unique devices for just one customer

play01:54

that we saw has like 42,000 different

play01:57

combinations of device models and

play01:58

chipsets that potentially exist um you

play02:02

have different regions different OS

play02:03

versions different app versions um also

play02:06

say like you're dealing with lots of

play02:08

data coming from uh very disparate sets

play02:13

uh interacting with your back-end

play02:14

distributed

play02:16

systems and uh for most of its life

play02:20

cycle observability and monitoring and

play02:22

the mobile ecosystem has been mostly

play02:25

proprietary systems designed by vendors

play02:29

um the kind of

play02:30

basic observability or monitoring that

play02:33

any app developer put puts in is

play02:35

Firebase CR crash litics which was

play02:37

something that was kind of acquired from

play02:39

Twitter and formerly its own own little

play02:42

company um it's free except you don't

play02:44

get data for 12 hours until a customer

play02:47

actually interacted with the device it's

play02:48

highly sampled it's limited to like a

play02:50

million events a month so if you're a

play02:52

serious app developer you're not going

play02:54

to use it um and as a result you've had

play02:57

all of these vendors building their own

play02:59

proprietary standards and trying to

play03:01

convince people um that they should be

play03:03

serious about observability with that

play03:06

but mostly it's just crash reporting

play03:08

error tracking Etc and the result is

play03:11

that the Paradigm looks a little bit

play03:13

like this um I'll notice that the single

play03:17

line leg is uh open is metrics for uh

play03:21

mobile devices and I think hansal de

play03:24

dive into a little bit as to why that is

play03:25

but like um for broadly speaking a lot

play03:29

of mobile Engineers actually consider

play03:31

this to be an acceptable picture um but

play03:34

when we talk to customers that are very

play03:36

serious about digital transactions

play03:38

happening on mobile um they say all of

play03:41

our customer impacting slos are directly

play03:44

tied to my mobile device and yet I have

play03:46

no good source of information that

play03:48

correlates to all of the hard work I've

play03:50

been doing to build reliability and

play03:52

resiliency in my backend systems what am

play03:55

I supposed to do and so we're going to

play03:57

talk a little bit about our challenges

play03:59

in in the Paradigm that we're facing

play04:00

today but more than anything this is a

play04:02

called a action which is if you have uh

play04:05

co-workers or people who are interested

play04:07

in the mobile ecosystem uh Hansen's

play04:10

working on the Android Sig we have folks

play04:12

working on the Swift Sig Etc please talk

play04:15

to us afterward we'd love to get you

play04:21

involved Al righty name is Hansen

play04:24

pronounce he him I'm a Chinese looking

play04:26

guy Baldhead glasses your typical type I

play04:30

guess uh and I want to talk about open

play04:32

Telemetry and observability in general

play04:34

uh in Mobile so the Crux of the problem

play04:37

that we're trying to solve in Mobile for

play04:39

observability is not merely trying to

play04:42

Port the tooling over to these mobile

play04:44

platforms I think there are fundamental

play04:46

differences in the basic assumptions

play04:48

that we make and the questions that we

play04:50

ask of of our observability tools and

play04:53

before we can move forward we have to

play04:55

acknowledge what these are recognize it

play04:57

before we can do the right thing

play05:00

so Andrew said mobile is unique how I

play05:03

don't got three hours so I'm just going

play05:05

to try to do it in three minutes first

play05:08

runtime

play05:09

environment this bad boy is not a

play05:11

kubernetes cluster you cannot configure

play05:14

how much CPU you get how much RAM you

play05:16

have it is wild I can walk in to an

play05:20

elevator with this

play05:21

device my network connection is gone

play05:24

uhoh my app is

play05:26

affected not only that the CPUs on these

play05:29

guys are also very limited we have

play05:32

low-end mediate Tech chipsets 10 years

play05:35

old running os's that are very strict in

play05:38

terms of how they provision resources so

play05:41

not only have limited Hardware you have

play05:43

the OS saying oh yeah 50 megabytes of a

play05:46

heap that's good enough for you you go

play05:48

over GC uh oh my app is really slow why

play05:52

well you know if you're observing you

play05:53

might

play05:55

know and worse yet SLO on mobile apps is

play06:01

not purely based on operational

play06:04

performance I will perceive a workflow

play06:06

as being slow using the same device that

play06:09

somebody else may not think is slow user

play06:11

perceived performance is part of the

play06:13

equation and it's really hard to

play06:15

calculate that by simply measuring very

play06:18

very specific

play06:20

numbers second the pipeline to get data

play06:24

Telemetry from mobile devices to the

play06:26

back end is extremely fragile data could

play06:29

be lost in a number of different steps

play06:31

crashes could take down anything that

play06:33

you're observing that you have not

play06:35

written to disk even if you write to dis

play06:37

just because you're at a dis it doesn't

play06:39

mean you'll actually get to the back end

play06:41

or if it does maybe it's delayed by

play06:43

minutes hours days these are not edge

play06:47

cases these are happens every time for

play06:51

most

play06:53

people and lastly the data the telary we

play06:56

capture has to Center on user

play07:00

experiences anything that we capture is

play07:03

in service to that operational duration

play07:07

device context everything that we do

play07:10

everything that we get is so that we can

play07:12

replicate the user experience in

play07:15

data when we're looking at a big system

play07:18

P99 might just be a condition of how the

play07:22

system is running whether it's healthy

play07:24

P99 for a mobile app is 1% of all all

play07:30

measurements and if you have a 100

play07:32

billion da 1% is a big big number and at

play07:37

the end of that 1% is a user staring at

play07:40

your app waiting and waiting for it to

play07:42

load and it's it's not only that they do

play07:45

it once it say do it again and again and

play07:48

again because slow devices tend to be

play07:50

slow all the time and that's where you

play07:52

get things like churn because this app

play07:54

is too slow I uninstall it a new set of

play07:57

1% gets in and churns

play08:02

so let's talk about otel otel is great

play08:06

it is the linga franka of observability

play08:09

it allows the back end the front end and

play08:11

the and the mobile apps in between to

play08:14

basically talk in the same language we

play08:16

use the same words we use the same

play08:18

nouns but it was designed for a backend

play08:21

Centric distributed tracing world where

play08:24

there are certain assumptions that just

play08:25

don't apply in Mobile so I'm going to

play08:28

talk about spans spans are great we love

play08:29

spans don't we Applause for spans

play08:34

uh but they don't work so well for all

play08:38

circumstances uh if you want to measure

play08:41

operational duration to pick out

play08:42

outliers spans are

play08:44

fantastic but what if duration is not an

play08:48

indicator of performance user sessions

play08:51

uh if you want to have something on

play08:52

screen you want to measure how long it

play08:53

you know users have interacted with it

play08:55

long is actually good potentially or

play08:57

just it just happens Network existence

play09:01

it's just a span well maybe not a span

play09:04

if you really strict about it but it

play09:07

could be operations also run for a long

play09:10

time on the client and not knowing the

play09:12

state of those operations until you end

play09:14

it kind of problematic especially if you

play09:17

are at key moments of the app life cycle

play09:20

if you background the app and your span

play09:22

is not done I guess we can keep our

play09:25

fingers crossed the OS doesn't killed

play09:26

before it's done but if it does uhoh

play09:29

what are you going to do also operations

play09:32

need to be contextualized with a lot of

play09:34

mutable state that changes all the time

play09:36

and getting that data and writing them

play09:37

with as attributes of a span can

play09:39

potentially be very expensive waiting

play09:42

for your system to come back with the

play09:44

Wi-Fi status or

play09:47

whatever second the protocol and the

play09:50

apis of open Telemetry makes certain

play09:52

assumptions that are not true on mobile

play09:57

so telary being recorded and transmitted

play09:59

reliably not true sometimes you don't

play10:03

get it so we need to build in resilience

play10:05

within the tooling to do things like

play10:07

buffer your dis before we send to The

play10:09

Collector which is what the open Android

play10:11

project has done Cesar has done great

play10:13

work around that um and then also

play10:17

automic transmission of related events

play10:19

and devices or D data if we only get a

play10:22

partial set of information in the server

play10:25

we don't know if it's a complete picture

play10:28

knowing that everything is either there

play10:29

or not there is extremely helpful and

play10:32

there's nothing built in to really do

play10:35

that also assuming that recording and

play10:37

transiting tele entry doesn't actually

play10:41

uh pose a um significant amount of

play10:46

overhead try your Android grow device

play10:49

from eight years ago run with a giga Ram

play10:52

it trust me it it taking a span on the

play10:55

main thread oh it impacts performance so

play10:57

you have to be very careful about

play10:59

what you measure how you measure it

play11:02

another assumption

play11:06

before before I take a drink water is

play11:09

that Engineers using the API are

play11:12

familiar with Concepts like tracing and

play11:14

and threads and and context propagation

play11:17

while mobile developers are a much more

play11:20

diverse group um in terms of skill set

play11:23

experience they're used to higher level

play11:25

constructs that don't have the notion of

play11:28

a thread well they have notion of a

play11:29

thread but not the actual thread of a

play11:31

thread and if you say herey trace this

play11:34

you know propagate context on threads

play11:36

uhoh I don't know what you're talking

play11:38

about but they want to measure

play11:40

performance and they look at the API and

play11:42

they're like oh maybe it's not for me

play11:45

and also traced operations have clear

play11:48

and execution boundaries and ownership

play11:50

is is you know fundamental to to break

play11:51

down the distributed Trace into

play11:54

spans look at a mobile code base with

play11:56

200 modules different teams owning

play11:58

different parts executing on different

play12:00

threads instrumentation can be extremely

play12:03

brittle if you don't manage it in the

play12:04

right way and mobile apps unfortunately

play12:07

generally managed in the right way is

play12:09

not something you associate with mobile

play12:11

app

play12:13

architecture last point I want to make

play12:15

is simply about mobile devices being

play12:17

millions of different app instances

play12:20

running on different different

play12:22

phones metrix at least the way otel does

play12:26

it really not conducive to

play12:29

presenting mobile app metrics in a in a

play12:33

way that is super useful uh without the

play12:36

proper context to ground and Baseline

play12:38

and do comparisons you're basically

play12:41

munging together a bunch of different

play12:42

systems with a bunch of different

play12:44

runtime contexts so if I tell you p75

play12:47

heat size in the jvm jvm is 60 Megs is

play12:52

that good or bad if you change it to to

play12:54

70 is it is it good or bad is it just

play12:57

the OS is more permissive or or is there

play13:00

memory leak who knows but we we we want

play13:04

to know and having strict timeline

play13:07

aggregations is really not suitable for

play13:09

the types of operations that we're

play13:11

trying to measure because they could run

play13:13

super long and we can miss the window

play13:16

and well I can go on but I

play13:20

won't

play13:22

basically it's not bad it's just

play13:26

different open Telemetry is designed to

play13:28

solve a spefic specific problem in

play13:29

specific context and we're kind of like

play13:32

ha Here Comes mobile apps we're going to

play13:34

change all these assumptions expect it

play13:35

to work no of course it's not GNA work

play13:38

but it doesn't mean it can't work I mean

play13:40

there are ongoing work in you know

play13:43

various sigs uh slacks you know private

play13:46

DMS uh Jason back there with a mask done

play13:49

great work on the Android open Telemetry

play13:51

uh codebase in order to you know bring

play13:54

it to you know everybody and we need

play13:57

help not only to you know write code but

play14:00

to ask questions I'm familiar with

play14:02

consumer mobile apps running on tablets

play14:04

and and phones but what about iot what

play14:07

about you know things that run in cars I

play14:10

don't know those but those are mobile

play14:12

and they have different questions so we

play14:15

need everyone to kind of come in and say

play14:17

hey my stuff is a little different

play14:19

please you know how can I how can open

play14:21

Telemetry help me what do I have to do

play14:23

um and we're asking these questions all

play14:24

the time and uh we won't stop asking

play14:27

these questions because as others have

play14:30

said we're never going to be done which

play14:32

is great because it's

play14:36

fun questions questions that's

play14:40

[Applause]

play14:57

it the question is if there's one change

play15:00

for open simetry what would we want it

play15:02

to be uh Andrew might have different

play15:04

answers but for me it's just more people

play15:07

getting into this and asking questions

play15:08

and using it in different ways you know

play15:10

we came in with some very you know basic

play15:12

assumptions and we're like hey this is

play15:14

fantastic spans we can do a lot with

play15:15

spans oh we can I guess but maybe not

play15:21

and there are other questions so without

play15:23

people asking questions we were never

play15:25

going to find the answers so for me

play15:26

that's like more people participating in

play15:28

asking

play15:29

use cases you know yeah I'm not going to

play15:32

make like a feature demand but I think a

play15:34

lot of things are in progress uh you

play15:36

know as an example we have this concept

play15:37

of a user session which is really Co

play15:40

kind of a collection of user behavioral

play15:42

and Technical data um I mean mobile apps

play15:45

are interesting in that like it's not

play15:46

the computers deciding what Pathways you

play15:48

exercise it's the humans and that

play15:51

becomes pretty unpredictable but pretty

play15:53

material in understanding state that

play15:55

resulted in some sort of terminal

play15:57

activity in the app whether it's

play15:59

um the customer having a really good

play16:01

experience or uh you know force closing

play16:04

because of long running operations um

play16:07

and that while it can be modeled as a

play16:08

trace as kind of Hansen was uh talking

play16:11

about I mean you're asking completely

play16:13

separate questions of what you would

play16:15

normally ask a span um in fact

play16:18

engagement time if you're measuring an

play16:21

operation can actually be quite ideal in

play16:23

a mobile app because it's an indicator

play16:25

that the customer is actually engaging

play16:27

with the content as opposed to an

play16:29

operation that's running a long time so

play16:31

I think figuring out how to model those

play16:33

things correctly so that you can ask the

play16:34

different types of questions you want to

play16:36

ask is pretty critical so entities is is

play16:39

I think going to be a great step um

play16:40

events are going to be a great step

play16:42

forward events could also have in in and

play16:46

start time and end time but not gonna

play16:47

open that discussion um so so there is

play16:51

great work happening and almost done uh

play16:56

I lost my train of thought yeah don't

play16:57

worry about it are there any more

play16:58

question before we can also shout out

play17:00

entities shout out

play17:04

Jason depends what you define a session

play17:11

replay like does our product have it

play17:20

no yeah I mean traditional web replay

play17:23

products looked at the Dom right which

play17:24

is not really super accessible um or at

play17:26

all in a native mobile app and we

play17:28

obviously can't do a screen recording

play17:31

because that would carry information

play17:33

about a customer's activities and

play17:34

information you wouldn't want to expose

play17:37

um there are vendors playing around with

play17:39

it but I mean I guess we don't have a we

play17:41

don't currently think about it in a in a

play17:43

way that we're modeling it within our

play17:45

own sdks five gr session replay with

play17:48

lots of you know new data mod you know

play17:50

specific data model for parsing and in

play17:52

arting is is like that hoof with really

play17:55

fine detail fur we're just trying to get

play17:57

a face on this guy it's just just a face

play18:00

so baby steps baby

play18:03

steps all right thanks all we'll be

play18:06

outside during lunch feel free to talk

play18:08

TI your waitresses and waiters and

play18:11

[Applause]

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
Mobile ObservabilityOpen TelemetryPerformance MonitoringDistributed SystemsUser ExperienceNetwork IssuesDevice DiversityData CollectionMobile AppsBackend SystemsObservability ToolsTechnical ChallengesMobile EcosystemSession ReplayData ResilienceMobile PerformanceCross-Platform Issues