Reaktionszeit, Throughput, Fehlerrate, Sättigung – durch Monitoring der vier goldenen Signale lässt sich ein äußerst aussagekräftiges Bild der Health und Performance einer Anwendung zeichnen. Erfasst wurden diese Metrics bislang allerdings quasi ausschließlich in den Funktionsbereichen Ops, DevOps oder Site Reliability Engineering (SRE). Den Teams aus der Entwicklung, die ihre Hand naturgemäß direkt am Code jedweder Anwendungen und Services haben, blieben sie dagegen vorenthalten.

Dabei wäre Klarheit zur Code-Performance gerade für diese Teams entscheidend, könnten sie potenzielle CX-Probleme so doch viel effektiver adressieren. Vonnöten ist hierfür allerdings umfassender Kontext und mit ihm Observability, die Metrics zu goldenen Signalen vom Service und System bis zu den einzelnen Methoden im Code liefert. Genau das wird durch Metrics und Telemetrie auf Code- bzw. Service-Ebene möglich. Denn damit lässt sich klar nachvollziehen, welche Services und Code-Zeilen die Anwendungs-Performance beeinflussen.

Metrics auf Code-Ebene

Mit der CodeStream Erweiterung macht New Relic aus Insights zur Software-Performance eine feste Größe im Dev-Prozess. Direkt in der IDE erhalten Entwickler:innen damit Aufschluss über die drei für Anwendungs-Services relevanten goldenen Signale. Umgesetzt wird dies via CodeLens, ein Feature, das die entsprechenden Metrics in Textform über jeder im Code enthaltenen Methode anzeigt. Die Instrumentierung erfolgt dabei über den New Relic APM-Agent.

Einsehbar sind so die goldenen Signale Reaktionszeit, Throughput und Fehlerrate, wie im nachfolgenden Screenshot beispielhaft gezeigt.

 

 

Durch Klicken auf eine CodeLens erhalten Sie zudem eine visualisierte Darstellung der einzelnen Metrics. Darüber können Sie zudem eine Service-Übersicht aus dem APM-Toolset in New Relic aufrufen und die Ergebnisse so noch genauer ausleuchten. 

Ganz besonders nützlich außerdem: Sie können zwischen den Services umschalten, für die die Metrics angezeigt werden. Die Performance Ihres Codes können Sie so in unterschiedlichen Umgebungen wie etwa Staging oder QA analysieren und etwaige Probleme proaktiv angehen, bevor sie ihren Weg in die Produktion finden.

Screenshot zum Service-Wechsel für die Metrics auf Code-Ebene in der IDE

Telemetrie auf Service-Ebene

Für Entwickler:innen geht es ganz allgemein zwar in erster Linie um die Validierung der Performance Ihres Codes. Doch ebenso wichtig ist für Sie auch das Gesamtbild, das sich aus folgenden Faktoren ergibt:

  • Performance des jeweiligen Service, für den Sie ihren Code schreiben
  • Performance der Services, die mit ihrem in Zusammenhang stehen

Bislang beschäftigten sich Entwickler:innen mit solchen Fragen zumeist nur im Falle von Incidents.

Eine überholte Methodik, der das Observability-Feature in CodeStream ein erhellendes Ende setzt. Denn darüber erhalten Sie auf einen Blick die Metrics zu goldenen Signalen für sämtliche Services aus dem Repository, das in Ihrer IDE geöffnet ist. Und nicht nur das: Mit einem Klick sind die entsprechenden Metrics auch für sämtliche Services einsehbar, die wiederum Ihren Service aufrufen oder von diesem aufgerufen werden.

Ein Beispiel hierfür zeigt der nachfolgende Screenshot. Darin zu sehen sind Reaktionszeit, Throughput und Fehlerrate eines bestimmten Service sowie die entsprechenden Metrics für eingehende bzw. ausgehende Service-Aufrufe.

 

Screenshot, der die Metrics für einen Service sowie für die Service-Aufrufe zeigt, die von ihm ausgehen bzw. an ihn gerichtet sind

Mit Telemetrie auf Service-Ebene erhalten Sie das auch für den Dev-Prozess so wichtige Gesamtbild direkt in Ihrer IDE.

Walkthrough-Video zu CodeStream

Eine kompakte Übersicht der hier beschriebenen Features finden Sie im nachfolgenden Nerd Byte Video.

Direkt starten mit Metrics auf Code-Ebene

Mit den nachfolgenden Anweisungen sind Sie im Handumdrehen startklar. Dabei wichtig zu beachten: Metrics auf Code-Ebene werden für die Programmiersprachen Python, Ruby, .Net und Go unterstützt, die Umsetzung für Java befindet sich derzeit noch in der Preview-Phase. Falls Sie daran teilnehmen möchten, wenden Sie sich bitte an codestream@newrelic.com. Daneben arbeiten wir außerdem bereits an einer Umsetzung für PHP und Node.js.

1. Agent aktualisieren

Zunächst müssen Sie ggf. ein Update des APM-Agent für Ihre Programmiersprache auf eine der nachfolgend aufgeführten Versionen vornehmen, die Metrics auf Code-Ebene unterstützt. 

  • .NET – Version 9.9.0 oder höher
  • Python – Version 7.10.0.175 oder höher
  • Ruby – Version 9.9.0 oder höher
  • Go – Version 9.9.0 oder höher

Bei Nutzung von .NET und Go ist ergänzend dazu außerdem eine entsprechende Aktivierung in der Agent-Konfiguration erforderlich.

2. CodeStream Erweiterung installieren

Die Installation der CodeStream Erweiterung in Ihrer IDE erfolgt ganz klassisch über den Marketplace von VS Code bzw. JetBrains. Achten Sie dabei nur darauf, dass Sie Version 14.0 oder höher auswählen.

3. Für CodeStream registrieren

Sofern noch nicht geschehen, müssen Sie im Anschluss an die Installation der Erweiterung ein Konto für CodeStream erstellen – unabhängig davon, ob Sie bereits als New Relic Nutzer:in registriert sind.

Es bestehen verschiedene Möglichkeiten, die Registrierung durchzuführen. Empfohlen wird jedoch die Option Sign up with New Relic, da Sie bei dieser die Registrierung bei CodeStream wie auch die Anbindung an Ihr New Relic Konto direkt in einem Schritt abschließen. Sie werden dabei lediglich dazu aufgefordert, Ihren New Relic API-Key einzugeben.

5. Repository mit Ihrem APM-Service verknüpfen

Öffnen Sie in der IDE ein Repository, das dem APM-Service zugehörig ist, für den Sie Metrics auf Code-Ebene erhalten möchten. Falls in CodeStream noch keine Verknüpfung mit dem APM-Service besteht, werden Sie im Bereich „Observability“ dazu aufgefordert, diese vorzunehmen. 

Screenshot, der das Fenster zur Erstellung eines CodeStream Kontos zeigt

Sofern Ihrem Repository mehrere Services etwa für verschiedene Umgebungen zugehörig sind, können Sie in New Relic weitere Verknüpfungen der Form repo<>service auf der Seite Summary zu Ihrem APM-Service erstellen. Rufen Sie hierzu unten rechts den Bereich Repositories auf.

Screenshot, der den Bereich zur Einrichtung von CodeStream mit der Schaltfläche zur Anbindung an New Relic One zeigt

5. Datei öffnen und loslegen

Öffnen Sie eine Datei aus Ihrem Repository: Oberhalb sämtlicher instrumentierter Methoden finden Sie nun eine CodeLens – und damit auch die jeweils zugehörigen Metrics zu goldenen Signalen.

Screenshot von direkt in der IDE angezeigten goldenen Signalen