Gibt es Tutorials speziell zum Verbinden von WebSockets (oder anderen nicht abfragenden Datenquellen) und cubism.js?
Insbesondere möchte ich in der Lage sein, ein Echtzeit-Diagramm von Daten zu erstellen, die vom Server strömen, visuell ähnlich dem Beispiel auf Kubismus Seite .
Referenzen: - Ссылка - Ссылка - Verwenden anderer Datenquellen für cubism.js
Hier ist etwas, mit dem ich spiele. Es ist nicht autoritativ, aber es scheint zu funktionieren: Ссылка
Wenn Daten vom Websocket eingehen, legen Sie sie in einen Puffer. Pump die Callbacks (ich erkläre die untenstehenden) und sende den Puffer als Argument. Überprüfen Sie den Rückgabecode für "Erfolg" oder "Warten auf mehr Daten". Erfolg bedeutet, dass Daten an Kubismus gesendet wurden und wir diesen Rückruf entfernen können.
Wenn der Kubismus ein Datenframe anfordert, richten Sie einen Callback ein, der überprüft, ob der letzte Punkt im Puffer nach dem letzten Punkt steht, den der Kubismus angefordert hat. Andernfalls warten Sie auf weitere Daten.
Wenn Daten den Stopp des angeforderten Frames abdecken, werden wir diese Anfrage erfüllen. Ohne eine API, um den Verlauf anzufordern, müssen wir Daten in die Vergangenheit löschen.
Dann interpoliere den Puffer einfach auf die Kubismus-Schrittweite.
Es sieht so aus, als ob Kubismus Daten vom gleichen Zeitpunkt mehrmals anfordert, also liegt es an Ihnen, wie Sie Ihren Puffer löschen können. Ich denke nicht, dass es sicher ist, alle Daten früher als die angeforderte Startzeit fallen zu lassen.
Ich habe einen schnellen und schmutzigen Hack gemacht:
Beachten Sie, dass cubism.js 6 Punkte pro Abruf (cubism_metricOverlap) erwartet, also stellen Sie sicher, dass Sie 6 Punkte in realTimeData p> behalten
Tags und Links javascript websocket d3.js data-visualization cubism.js