Time Series Data Recording And Visualization

Slides:



Advertisements
Similar presentations
TDPS Wireless v Enhancements E1 - Multi load E2 - Driver time scheduler.
Advertisements

ManageEngine TM Applications Manager 8 Monitoring Custom Applications.
Browsers and Servers CGI Processing Model ( Common Gateway Interface ) © Norman White, 2013.
Session 6 Server-side programming - ASP. An ASP page is an HTML page interspersed with server-side code. The.ASP extension instead of.HTM denotes server-side.
1 Foundations of Software Design Lecture 27: Java Database Programming Marti Hearst Fall 2002.
Web-Enabling the Warehouse Chapter 16. Benefits of Web-Enabling a Data Warehouse Better-informed decision making Lower costs of deployment and management.
ODBC and JDBC What are they – libraries of function calls that support SQL statements Why do we need them –Provide a way for an application to communicate.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
1 Working with MS SQL Server II. 2 The sqlcmd Utility Command line utility for MS SQL Server databases. Previous version called osql Available on classroom.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
CSCI 6962: Server-side Design and Programming
Overview of SQL Server Alka Arora.
ASP.NET Dr. Ralph Westfall May, Web Development Problem HTML designed to display static pages only interactive when user clicks links  can’t provide.
Microsoft Azure Introduction ISYS 512. Microsoft Azure Microsoft Azure is a cloud.
Analysis of SQL injection prevention using a proxy server By: David Rowe Supervisor: Barry Irwin.
CSE 305 Theory of Database Tutorial on Connecting with Sybase from Java program and Developing GUI Jalal Mahmud, TA, CSE 305.
MySQL Connection using ADO.Net Connecting to MySQL from.NET Languages.
AppDynamics Ohio User Group. What is ExactTarget? Software as a Service Marketing 500 million s sent a day 200 million web transactions a day.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
Analysis of SQL injection prevention using a filtering proxy server By: David Rowe Supervisor: Barry Irwin.
Web Design (1) Terminology. Coding ‘languages’ (1) HTML - Hypertext Markup Language - describes the content of a web page CSS - Cascading Style Sheets.
By Rachel Thompson and Michael Deck.  Java.io- a package for input and output  File I/O  Reads data into and out of the console  Writes and reads.
Server-side Programming The combination of –HTML –JavaScript –DOM is sometimes referred to as Dynamic HTML (DHTML) Web pages that include scripting are.
Building Dashboards SharePoint and Business Intelligence.
DataBases and SQL INFSY 547 Spring Course Wrap Up April 12: Complete Work on Servlets Review of Team Projects Close of Portfolio Work April 19:
1 Applets. 2 Design of Applets 3 Sun wrote Java to be executable within a hosting application browser The applications are applets. An applet is downloaded.
Distributed Time Series Database
Basics of JDBC Session 14.
ESG-CET Meeting, Boulder, CO, April 2008 Gateway Implementation 4/30/2008.
Lei Kong, Ph.D. Center for Bioinformatics Peking University ABrowse - A General Purpose Genome Browser Framework.
A Desktop Client for HPC Chemistry Applications: GridChem Kent Milfeld Supported by the NSF NMI Program under Award #
April 20023CSG1DE2 1 Electronic Commerce Design (2) John Wordsworth Department of Computer Science The University of Reading Room.
Retele de senzori EEMon Electrical Energy Monitoring System.
1. Writing a Java program to connect to SQL Server 2008 and Create a table Populate the table (insert data) Perform queries to retrieve information from.
How To Start a SQL server Connecting to SQL Server.
 INDEX  Overview.  Introduction.  System Requirement.  Features Of SQL.  Development Process.  System Design (SDLC).  Implementation.  Future.
Data Visualization with Tableau
The Holmes Platform and Applications
EPICS Channel History Storage
Fundamental of Databases
Distributed Control and Measurement via the Internet
MeshCentral 2.0.
JDBC Database Management Database connectivity
WinCC-OA Log Analysis SCADA Application Service - Reporting
WinCC OA NextGen Archiver: OSS Database selection process Dipl. -Ing
Advanced Web Automation Using Selenium
CERN-Russia Collaboration in CASTOR Development
HW#4 Making Simple BBS Using JDBC
The Client/Server Database Environment
Task Management System (TMS)
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Chapter 12: Automated data collection methods
MySQL Connection using ADO.Net
Applets.
Introduction to Apache
Tiers vs. Layers.
LifeGuide From the perspective of the other side of the team
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
World Wide Web Components
Storing and Processing Sensor Networks Data in Public Clouds
Graduation Project #1 University Internet Student Registration System
New Technologies for Storage and Display of Meteorological Data
Concurrency.
Lecture 34: Testing II April 24, 2017 Selenium testing script 7/7/2019
Requirements Analysis Document Presentation
Patrick Partin What just happened? Creating your own real-time dashboard with Grafana, Influx, and Telegraf Congratulations on successfully downloading.
© University of Liverpool
Ready Pre-day Azure Monitoring Workshop
Web Application Development Using PHP
Intro to Programming (in JavaScript)
Presentation transcript:

Time Series Data Recording And Visualization JinFlux-1.0 Time Series Data Recording And Visualization

What We Want Historical storage of metrics Interactive analyses of metrics Scalable and performant

InfluxDB:Time Series Database Optimized handling sequence of data points, measured at successive points in time at uniform time intervals. HTTP(S) interface for reading and writing data Down-sample data on different windows of time Compute statistics on fly Horizontally scalable Designed for high transaction volumes.

Grafana Open source Javascript dashboard Drug and drop panels Click and select region to zoom Bars, Lines, Points Mix liners, bars and points InfluxDB query editor Annotation lines, and more…

InfluxDB Driver: JinFlux API JinFlux(String influxDbHost, int port, String user, String password) ping(int timeout) createDB(String dbName, int retentionTime, JinTime tm, String rpName) showRP(String dbName) removeDB(String dbName) listDB() existsDB(String dbName) openTB(String tbName, java.util.Map<String,String> tags) removeTB(String dbName, String tbName) dumpTB(String dbName, String tbName) addDP(Point.Builder point, java.util.Map<String,Object> dpNames) write(String dbName, Point.Builder spot) read(String dbName, String tbName, String tag) readTags(String dbName, String tbName)

CLARA Front-End

Example code: AFECS supervisor try { if (jinFxConnected) { if (!component.getExpid().equals(AConstants.udf) && !component.getName().equals(AConstants.udf)) { // define table tags Map<String, String> tags = new HashMap<>(); tags.put(AConstants.RUNTYPE, component.getRunType()); tags.put(AConstants.CODANAME, component.getName()); // open a table Point.Builder p = openTB(component.getExpid(), tags); // add data points addDP(p, AConstants.TYPE, component.getType()); addDP(p, AConstants.SESSION, component.getSession()); addDP(p, AConstants.STATE, state); addDP(p, AConstants.EVENTRATE, component.getEventRate()); addDP(p, AConstants.EVENTRATEAVERAGE, component.getEventRateAverage()); addDP(p, AConstants.DATARATE, component.getDataRate()); addDP(p, AConstants.DATARATEAVERAGE, component.getDataRateAverage()); addDP(p, AConstants.NUMBEROFLONGS, component.getNumberOfLongs()); addDP(p, AConstants.EVENTNUMBER, component.getEventNumber()); addDP(p, AConstants.LIVETIME, component.getLiveTime()); addDP(p, AConstants.RUNNUMBER, component.getRunNumber()); // add input buffers Map<String, Integer> ib = component.getInBuffers(); for (String s : ib.keySet()) { addDP(p, "I." + s, ib.get(s)); } // add output buffers Map<String, Integer> ob = component.getOutBuffers(); for (String s : ob.keySet()) { addDP(p, "O." + s, ob.get(s)); write(dbName, p); } catch (Exception e) { System.out.println("DDD: Error writing into influxDB"); // creates a table with data retention time = 1 hour try { if (!existsDB(dbName)) { createDB(dbName, 1, JinTime.HOURE); } } catch (Exception e) { jinFxConnected = false;

CODA WEB Dashboard: Expid = emutest

CODA WEB Dashboard: Expid = experiment_7

Conclusion Lightweight Java API is developed to record time series data into an open source, no-SQL database: InfluxDB JinFlux package can be used to monitor wide variety metrics, reported from processes such as slow control, data acquisition and physics data processing. JinFlux is a general purpose, self contained package (no external dependencies) and is not part of CLARA or AFECS projects. Code is available at:https://github.com/gurjyan/JinFlux.git InfluxDB is installed on claraweb.jlab.org and is open to all users. Grafana server is installed and running at http://claraweb.jlab.org:3000 For more info contact gurjyan@jlab.org