Bestand wählen

MiniTalk: Instrumenting Ember Apps with Heimdall

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Erkannte Entitäten
as and
I don't know
the you also might know me as transpired a work collecting and I work and Austin team thus deafferented counting and ordinary jet blue and together and we've been working really hard on a set of performance to the Challenger shuffle them today to Scott and all it's named after the Norse god of these emissions protect the heavens and folks like looking at the enemy of true and a the this is OK
and the tail of key on about performance performance to me and I don't actually know ourselves answers there is a problem that we all have this bound that it's easy to think the you know when a slope with the easier to think that you know how to optimize slow optimizations are an area of development are kind of like a sort of myths and legends is never and a clear answer is number 1 thing that you can point to and say this this is the truth this is how you optimize so localized to us he lies to us with inconsistent test environments the wise to us with high benchmark variability and as time goes on we can remove monotonous legends the tooling helps us measure the impact of changes but focusing in on the micro and macro level concepts that are tied to a performance as practices so I call this the orbits of doing what only have a few minutes yeah so I would give you a crash course in performance on a budget who you know is that 3 hours of waste management yes reduce reuse recycle so the the 3 fundamental pillars of performance work you reduce the amount of work that you're doing you reuse work that you've already done well you recycle things that are expensive it also turns out that performance work is very very related to debt management in the sense that you want to defer payment of things often if it's not something you need to make a payment on now you I'm not pushing down the line when other times and I when was payments so instead of making money payments you do everything up front all what's so different and causing that reducing reusing recycling it's very easy very easy to measure and see if you made in a factor that kind of work with deferring coalescing it can be a lot harder to tell if you have had an effect because that work was often distributed in small chunks all over the place before on it is afterwards you might be hard to find this chunks might be hard to to see the true impact so crash course downwards that dive into something the this this screenshot is that an attempt at learning at 4 thousand records in Denver data and all any real context it can be pretty intimidating to go well he's a big giant Bob color I also you see a giant function called flushes took a long time maybe maybe need optimize flush you don't you don't see looking at this context of maybe where you should start looking it this is a of requests in number data for a couple hundred records it's a larger section of the Timeline and annotated for you so you can tell what's going on in different sections user reviews kicked off the requests user we did some of the setting up of the request adapter is really normalized and data that came back the pushed it into the store we generate some records and hand them to you I have be really only tell all these things after you don't through the timeline for a while to find this narrow slice in this giant long yellow snail it once you dug into that sliced to pure around a while longer before you start to understand what's going on in different parts so tha serve so the this is where most people start because they feel abandoned lost they just don't know where to begin behind to save so today you can use ad and verb timeline as is something that stuff and in the together is will add into your timeline information about rendering re-rendering Neapolitan components very soon you'll be able to add to that you add a handle that will make America time on use humble as well as enable half and or instrumentation that we've been working on it's built into things like amber data to also surfaces information it I know that I level is 2 concepts China's encounters In time there's that the primary a really good for a macro level view of what is going on in your application like in this area the timeline what was I doing it it's a it's a great annotation tool but that's a different way of looking at a time and then how however used to kind of using timers and performance debugging used it some it's an annotation but is not a number of the you know it generates a number you really want to take that number use relatively how much time is this finding years relative to how much time as being somewhere else because that 1 number that's so if you look at it in isolation a life it's another 1 of bookies mysteries he's checking you again why that might be because if you focus in that 1 area and you work to some optimization what you educate pick the work they were doing some are also but you're still doing it so new now no longer looking at it within that number or perhaps just have variability in the environment and so things took longer this time the 1 always or maybe it's about time this time but they it doesn't always so something it's of 10 seconds 1 time and parsing is another time we might not mean that you read 5 seconds it might just mean that was the variability so diverse great for a high level annotation and not very good when it comes to really drink drilling down is an example that this looks like this is a little demo application that has been instrumented with America per timeline this version of of timeline is using handle and the application has a little bit of additional annotations in the I'm not going into the user timing API which puts these annotations up here at the top and conversion is that that you can't really see it all that all that well but the left side of these additional annotations is letting you know what was rendering men and women went to render your work and was taking so long as that's the right side of this was an instrumentation bound on the data encirclement up in this in this particular it's what was taking so long and rendering was that answered on what was really just poorly optimized we could say the cells 50 ms by optimizing is another example of the handle instrumentation this is straight out of the data but as we've taken that same view that we were I was manually annotating before and those annotations are just baked into the user timing the silly to the top of all this is this areas in the data this is where pushing it into the store this series renewed normalizing necessary creating records at its surface is something interesting which is when it comes to materializing records really had made this assumption a materializing was expensive enough that maybe we should find in Hong and took but it turned out that it was such a such a short time and doing it so often that timing it really didn't help was very much but it would have been a great candidate for account just knowing how many times we initialize something but
so this facts essentially use kind of like I have some labels here things them on all accounts can be some things I can use it to track when you enter into a function you call incremental that counter and increment the data which we'll be way of extracting out later here if you this talk is part this talk is hard because I get to this point in the well timers Canada's there's nothing sexy here on what is in this for me that with this for
years and patented ecosystem was in this 1 here is that there's timeline aggression so you get these annotations was also about this is that it's stripped from all your production boats so you get all this additional information about what's going on in your application without incurring any costs to Europe and users if you're familiar with node applications you might be familiar the debug keep a counter that we can start here Apple then provide a scope and see what kind of logs of what's going on that portion the application you debugging the time when aggression here all systems semantics so we can pass in aquariums I only wanna look is that only 1 the timing information from components are components of this name or from member data so allows you to focus in on 1 area you're optimizing but more importantly what we really want to enable you to do kind of is unit acceptance tests for performance so instead of measuring things of a around around a profile 1 time this was 5 seconds in a rented again notes 2 seconds we must be faster you add comments to the parts of the application of performance is really critical or maybe maybe we add counters a amber itself and so many people and receptor and they get it and put in in increments account counter no new tasks you can said do this a given accounted how many times the Congress and how i times when no this function how many times they create a class this lets you catch errors in your own code where you were backtracking in doing actual work this lets you spot areas for improvement by saying when I do this thing I am turns I am calling it into this function we more time than I thought was perhaps I should focus here to count data is something that cannot lie to us as easily because it is in in the of a finite number that is not dependent on the environment so it's next firm don't is not we want to do a lot of visualization 1 of the 1 and g the ability to query the data that we have is been generative colors so we want to do conditional culture things if you of this to production and you only want some pieces of the instrumentation left everything else yourself you'll be able do that so we want to enable stream that data from your reduction application back so that you can run analysis on it all of them for power users so that you happen in the from choosing the we want the trace of innovation so perhaps no
you understand the importance of planners and timers when you get this just
certain but it is not coming out is that but is that it is very much to it
but you
know how to
App <Programm>
Grundsätze ordnungsmäßiger Datenverarbeitung
Demo <Programm>
Umsetzung <Informatik>
Program Slicing
Kartesische Koordinaten
Lineares Funktional
Kontextbezogenes System
Zellularer Automat
Syntaktische Analyse
Zusammenhängender Graph
Speicher <Informatik>
Fundamentalsatz der Algebra
Orbit <Mathematik>
Formale Semantik
Desintegration <Mathematik>
Klasse <Mathematik>
Kartesische Koordinaten
Formale Semantik
Streaming <Kommunikationstechnik>
Einheit <Mathematik>
Endliche Menge
Zusammenhängender Graph
Leistung <Physik>
Lineares Funktional
Profil <Aerodynamik>
Physikalisches System
Einheit <Mathematik>
Streaming <Kommunikationstechnik>


Formale Metadaten

Titel MiniTalk: Instrumenting Ember Apps with Heimdall
Serientitel Ember Conf 2017
Autor Thoburn, Chris
Lizenz CC-Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben.
DOI 10.5446/33642
Herausgeber Confreaks, LLC
Erscheinungsjahr 2017
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik

Ähnliche Filme