2014-11-25 9 views
15

I auf der Grundlage von Leistungsobjekt meiner Website der Leistung bin Messung von HTML5 zur Verfügung gestellt und ich möchte wissen, dass das, was mit meiner Anwendung läuft falsch, ich will auch diese Leistung anmelden Objekt anderer Endbenutzer in meiner lokalen Datenbank, so dass ich Informationen von ihren Seiten habe, aber ich bin nicht ganz vertraut mit was jede Eigenschaft bedeutet, wie was der Grund für eine Verzögerung in connectStart sein könnte, connectEnd ... Ich habe eine Karte erstellt nach meiner Kenntnis, aber ich Input von Gemeinschaft muß dies für ... das wäre sehr hilfreich sein für andere Menschen als gutMess JS Leistung HTML5 Leistung mit und performance.timing Objekt

var issueList = { 
    'connectStart':   'Network issue', 
    'connectEnd':   'Server is not responding fast with SSL handshake', 
    'domainLookupStart': 'Network issue', 
    'domainLookupEnd':  'Network issue', 
    'fetchStart':   'Slow browser', 
    'redirectStart':  'Network issue', 
    'redirectEnd':   'Busy server', 
    'requestStart':   'Network issue', 
    'responseStart':  'Server is slow', 
    'domLoading':   'Low internet bandwidth', 
    'unloadEventStart':  'Slow browser', 
    'unloadEventEnd':  'Slow browser, browser processes are too heavy', 
    'navigationStart':  'Slow browser', 
    'responseEnd':   'Network issue', 
    'domInteractive':  'Browser issue', 
    'domContentLoadedEventStart': 'Network issue', 
    'domContentLoadedEventEnd':  'Network issue', 
    'domComplete':   'Too much DOM manipulation', 
    'loadEventStart':  'Unknown', 
    'loadEventEnd':   'Low JS performance, either not optimized JS or browser is slow' 
}; 

Sequenz des Prozesses zu kennen ist in diesem Bild gezeigt für Informationen Perfromance Timing Overview

ich haben auch eine JSFiddle für dieses

gleiche Art und Weise, ich möchte auch die Leistung von AJAX-Request messen in meiner Webseite und ich denke Readystate von AJAX Anfragen der Verwendung Also ich möchte wissen, was für die Zeit nehmen, zwischen jedem Zustandswechsel ist

State Description      Reason 
0  The request is not initialized Slow JS execution 
1  The request has been set up  Slow JS execution 
2  The request has been sent  Slow Netowkr Connection 
3  The request is in process  Slow Server response 
4  The request is complete   Slow server processing 

Der Grund ich dies tun wollen könnte es den Grund sein, weil, manchmal haben wir eine Beschwerde, dass unser applicat Ion ist ein bisschen langsam, also in diesen Fällen können wir dieses Leistungsobjekt des Benutzers lesen und auch insgesamt Leistungsobjekt lesen. Wir können auch verschiedene Performance-Objekte während Spitzeneinsatz unserer Anwendung und anderen Zeiten auch lesen und messen möchten, dass welcher Teil der Anwendung längere Zeit zum Laden braucht. bei zur gleichen Zeit ist es ein Produkt, das mit einer Zeit so für zukünftige Referenz entwickeln werde Ich kann diese Daten auch als Benchmark verwenden. so meine einzige Fokus dieser Aufgabe ist das Verständnis vollständig

Auch, lassen Sie mich wissen, ob es andere Möglichkeiten gibt (Wenn ich lange Strecke nehme) ...

+1

haben einen Blick auf .http: //www.html5rocks.com/en/tutorials/webperformance/basics/ –

+1

http://kaaes.github.io/timing –

Antwort

3

Ich möchte auch diese anmelden Leistungsobjekt anderer Endbenutzer in meiner lokalen Datenbank

Beginnen wir mit diesem Aspekt. Sie müssen das alles nicht neu erfinden. Ihre Zeit ist viel besser dafür geeignet, Ihre Website zu verbessern, als eine eigene Überwachungslösung zu erstellen.

Google Analytics verfolgt das Timing-Objekt für Sie, so können Sie es gerade dort überprüfen. tut dies auch und ist entwicklerorientierter und verfolgt auch serverseitige Dinge. Es gibt wahrscheinlich 100 andere, aus denen Sie auswählen können.

aber ich bin nicht sehr vertraut mit dem, was jede Eigenschaft bedeutet

Die kanonische Definition für diese ist die W3C-Empfehlung: https://www.w3.org/TR/navigation-timing/

ich eine Karte nach meinem Wissen erstellt haben, aber Ich brauche von Community für diese Eingabe

Ich schlage vor, nicht Erstellen Sie eine solche Karte, zumindest so, wie Sie es bisher definiert haben. Jedes Ereignis bedeutet etwas Spezifisches. Angenommen, eine Umleitung hat etwas mit einem Netzwerkproblem oder einem ausgelasteten Server zu tun, ergibt keinen Sinn. Sicher, eine langsame Umleitung könnte an diesen Gegenständen liegen ... aber es könnte an 100 anderen Dingen liegen oder vielleicht sogar beabsichtigt sein. Bedenken Sie auch, dass sich die Netzwerkbedingungen auf der ganzen Welt stark unterscheiden. Kurz gesagt, die Definitionen wie sie sind die besten.

Wenn Sie eine bestimmte Frage zu der Bedeutung haben und die W3C-Spezifikation für Sie nicht klar genug ist, empfehle ich Ihnen, eine bestimmte Frage zu einem bestimmten Element zu stellen, bei dem Sie verwirrt sind.

+0

Der Grund ich dies tun möchte, ist, weil, Manchmal haben wir eine Beschwerde, dass unsere Anwendung ein wenig langsam ist. In diesen Fällen können wir das Leistungsobjekt dieses Benutzers lesen und auch das allgemeine Leistungsobjekt lesen. Wir können auch verschiedene Leistungsobjekte während der Spitzennutzung unserer Anwendung und anderer Zeiten lesen und messen, welcher Teil der Anwendung länger zum Laden benötigt. Gleichzeitig ist es ein Produkt, das sich mit der Zeit weiterentwickeln wird, so dass ich diese Daten auch als Referenz verwenden kann. so ist mein einziger Fokus dieses Objekt vollständig zu verstehen –

+0

@ParagBhayani Ja, es ist gut, auf Ihre Anwendungsleistung zu schauen ... aber es gibt ** keinen Grund, diese Leistung selbst zu protokollieren **. Im Gegenteil, wenn Sie ein bestehendes, gut getestetes System verwenden, werden Sie Zeit damit verbringen, Ihre App zu reparieren und zu wissen, dass alles korrekt protokolliert wurde. Sie werden auch in der Lage sein, aggregierter zu analysieren. – Brad

+0

Noch denke ich, dass ich keine Antwort bekomme, was ich suche, Danke für die Hilfe trotzdem :) –