Graphite Dashboard viewer for mobile device - performance

I have gone through various documentations on Graphite (Performance Monitoring Tool) to explore if Graphite supports any options to view dashboards on mobile platforms e.g. smart phones, iPad, tablets.
As mentioned here too, I understand that Graphite allows you to query your data, both graphically and returning csv but is there any quick way to integrate Graphite with mobile devices.
Similar product OpenNMS is progressing on iOS app.

Try Grafana (http://grafana.org) it is a new dashboard frontend for graphite.

I posted the same question at Graphite Portal too https://answers.launchpad.net/graphite/+question/227267 but haven't heard yet. So adding my findings so far on same.
As of date Graphite doesn't offer any readily available option (mobile web interface or app) to render graphs and dashboards best suited to mobile devices i.e. phones and tablets. Graphite URL API however allows options to customize graphs as per business requirements.
The graphite webapp provides a /render endpoint for generating graphs (and retrieving raw data). This endpoint accepts various arguments via query string parameters e.g. defining a time window for the graph via from / until.
Below URL requests (JSON) CPU Usage metrics for app servers 401 through 405 in last 1 hour time frame. Note that removing “format=json” request attribute returns graph as image in PNG format (default Graphite behavior).
http://graphite06p.prod.s.com/render/?format=json&until=now&from=-1Hours&showTarget=applications.jboss.app40%5B12345%5Dp_prod_ch4_s_com.jvm.cpuUsage&title=JVM%20%20-%20CPU%20Utilization&_salt=1367342114.856&target=applications.jboss.app40%5B12345%5Dp_prod_ch4_s_com.jvm.cpuUsage
Enterprises can create mobile web app such that server component first fetches raw data from Graphite using above mentioned URL API and then make any required customizations before returning the HTML content back to device browser. For example, the JSON data received from Graphite can be plotted using Javascript library FLOT or ZingChart. Hybrid or native apps too can be built around this approach. Any additional inputs or suggestions are most welcome.

Related

How to monitor client version distribution parsed from user-agent headers?

I have a native app that is configured to include a version number in the user-agent request header in a regex-parseable format. I'd like to include a metric in a Cloud Monitoring dashboard that shows me a distribution of major/minor versions (and perhaps patch versions?) of the total requests over a period.
What I'm ideally looking for is a histogram or stacked bar chart of the share of each major/minor version as a percentage of the total requests in that time period.
I can set up a logs-based metric based on the major/minor version but the only way to display it in a dashboard is as a heatmap and that's not a proper representation.
Google Monitoring, previously called stack driver, by default allows you to configure dashboards for the custom metrics you are selecting from the log files. However, if these dashboards are being useful to plot your data in a desired format you can use python code libraries and create your own custom dashboards displaying your custom data. Google-cloud-monitoring-dashboards python package helps you in creating your custom dashboards, refer to its documentation for more details.

Getting regional stats data from Steamworks API

I am working on a project that involves connecting to Steamworks Web API to fetch statistical information related to a number of games. I have a Web API Key and also, a list of Application IDs for the games I am interested in. After going through the entire Steamworks API I was unable to find an endpoint that satisfies my requirements.
I am looking for statistics related to different regions of the game. I want to know the number of active players in the region. The only relevant endpoint I found (not sure if this is what I am looking for is) GetGlobalStatsForGame endpoint found here. From what I understood, this endpoint can be used to get aggregated values for certain values related to the game. Now, in order for this to work, I need to know what available Global Stats are actually used by the game. Looking at the Global Stats documentation here I can see that there is a function called RequestGlobalStats. However, this involves using a Steamworks sdk.
Is there a way I can request the global stats using the Steamworks Web API? If so, how can I do that? Are there any other endpoints that gives the name for each of these desired values?
Is there a way I can request the global stats using the Steamworks Web API?
You can check out what stats a game provideds with GetSchemaForGame like this: https://api.steampowered.com/ISteamUserStats/GetSchemaForGame/v2/?key=YOUR_API_KEY&appid=730.
CS GO for example does not have any regional game stats.
Unless developers supply that this information in their game statistics, there is no way with the API to find the information you are looking for.
You have to manually check every stats for the 400000+ games on Steam. I doubt many games have this information.

How to I obtain a web applciation performance metrics through browser extension?

I need to be able to obtain performance metrics such as loading times, REST Calls time through a google extension and mozilla firefox add-on.
The challenge is to get the extension itself. I can't seem to be able to obtain an extension having those functionality on both google extension and mozilla firefox add-on.
Another challenge is that the data obtained from the performance metrics should be exported so as to be put in a structured database.
Anyone know any extension/add-on with those requirements?
I don't think you will find such extension, in particular storing the results into the database will not be possible at all as extensions can only access limited subset of browser functionality, so called sandbox.
So instead of looking for an extension I would recommend investigating Navigation Timing API
The output of the API can be converted into i.e. JSON object using JSON.stringify() function
JSON is some kind of universal data interchange format so databases either can consume it directly or you can convert it into whatever you want.
If you're looking for a way to automate everything you can consider using Apache JMeter tool as an unified testing solution:
browser automation is being provided via WebDriver Sampler
database connectivity is implemented via JDBC Connection Configuration and JDBC Request elements
JMeter by nature is a load testing tool so you can combine the above steps which check client-side performance with the backend performance test.

Which techniques used to streaming realtime gps data to webclient?

I'm working on tracking car location realtime.
My backend server continuously received gps data from device on the car.
The gps data and the frequecy of data flow is huge.
I'm working on chose a right tech to stream data from server to webclient to
real time draw position of car.
Currenty, i use websocket to stream data from backend to web client. But the performance is not good enough and i need to scale up.
Since my system is one way direction data flow from backend to web client.
I'm consider chose Server-Sent Events vs web socket.
Please give me some technology to handle my situation?
Thanks
You can continuously query the GPS data from cars using the Stride API, which is typically used to analyze streams of hundreds to hundreds of thousands of events per second for realtime analytics application development like the use case you mentioned, all without having to build or manage any realtime data infrastructure, so long as you're okay with using a SaaS product here.
Check out the Stride technical docs for some examples. What you're trying to do here could easily be done with a small amount of code using the Stride API, though.

Nativescript mapserver maps

Any ideas how to start with MapServer with NativeScript. I don't have necessary skills yet to make own plugin but I must try if nothing else is found.
Does anyone know any resources to get started implementing mapserver maps for nativescript. Plugin, code anything.
I assume you have an application using NativeScript framework and you want to include some map services from MapServer.
If that is the case, you may not need to write your own plugin but you still do some level of coding to achieve the goal.
My recommendation would be :
1) At your front end, choose a GIS map library such as Google maps API, Leaflet or OpenLayers API. The GIS library would handle a lot of critical tasks in the process such as handling communication with GIS server, user interface function etc. So that you don't have to reinvent the wheels again.
https://developers.google.com/maps/
2) Based on your system requirement, you may or may not need a GIS server such as MapServer. Data could come from directly from clients for example. But since you mentioned it i would think you may need a GIS server to publish some data for the application to consume the services.
MapServer services via OGC standard protocols are easy to integred with most of the popular GIS libraries mentioned earlier. So once you publish Map service (wms) for example, it would be as easy as add one layer in such GIS library point to the service endpoint you published via Http request and by passing some parameters you would be able to get the GIS contents.
This is the link about how to consume MapServer service on the client side:
http://mapserver.org/ogc/wms_client.html

Resources