Friday, 7 August 2020

add a graphana visualization

1) Create a visualization


2) Choose visualization type


3) Change Query destination to graphite


4) add a Query

consolidateBy(stats_counts.kafkaConsumerRecordCount.application.my-microservice-name.environment.prod.instanceId.*.region.*.statistic.count, 'sum')


The panel will look like:

{
  "cacheTimeout": "",
  "datasource": "Graphite",
  "gridPos": {
    "h": 9,
    "w": 12,
    "x": 0,
    "y": 0
  },
  "id": 2,
  "links": [],
  "pluginVersion": "6.1.6",
  "targets": [
    {
      "refId": "A",
      "target": "consolidateBy(stats_counts.kafkaConsumerRecordCount.application.my-microservice.environment.prod.instanceId.*.region.*.statistic.count, 'sum')",
      "textEditor": true
    }
  ],
  "timeFrom": null,
  "timeShift": null,
  "title": "Processed Events",
  "type": "graph",
  "renderer": "flot",
  "yaxes": [
    {
      "label": null,
      "show": true,
      "logBase": 1,
      "min": null,
      "max": null,
      "format": "short"
    },
    {
      "label": null,
      "show": true,
      "logBase": 1,
      "min": null,
      "max": null,
      "format": "short"
    }
  ],
  "xaxis": {
    "show": true,
    "mode": "time",
    "name": null,
    "values": [],
    "buckets": null
  },
  "yaxis": {
    "align": false,
    "alignLevel": null
  },
  "lines": true,
  "fill": 1,
  "linewidth": 1,
  "dashes": false,
  "dashLength": 10,
  "spaceLength": 10,
  "points": false,
  "pointradius": 2,
  "bars": false,
  "stack": false,
  "percentage": false,
  "legend": {
    "show": true,
    "values": false,
    "min": false,
    "max": false,
    "current": false,
    "total": false,
    "avg": false
  },
  "nullPointMode": "null",
  "steppedLine": false,
  "tooltip": {
    "value_type": "individual",
    "shared": true,
    "sort": 0
  },
  "aliasColors": {},
  "seriesOverrides": [],
  "thresholds": [],
  "timeRegions": []
}


5) The graph visualization looks like


Saturday, 30 November 2019

WiFi 101


wifi 101

  • The WiFi radio waves are very similar to the radios used for cell phones and other devices.
    They can convert 1s and 0s into radio waves and convert the radio waves back into 1s and 0s.
  • Wifi can transmit from 2.4 GHz or 5 GHz
  • 5G wifi (802.11ac) is the newest standard as of early 2013.
wifi radio waves RSSI
/System/Library/PrivateFrameworks/Apple*.framework/Versions/Current/Resources/airport -I
     agrCtlRSSI: -44
     agrExtRSSI: 0
    agrCtlNoise: -92
    agrExtNoise: 0
          state: running
        op mode: station 
     lastTxRate: 1170
        maxRate: 1300
lastAssocStatus: 0
    802.11 auth: open
      link auth: wpa2-psk
          BSSID: _:_:_:_:_:_
           SSID: progessive_energy_5g
            MCS: 9
        channel: 153,80
Closer I move to router better signal strength I receive.
jshell> var signalToNoiseRatio = -44 - (-92)
signalToNoiseRatio ==> 48
Higher SNR margin values mean clearer signals.

RSSI table

RSSIdesc
-30 dBmMaximum signal strength (NEAR)
-50 dBmexcellent signal strength
-60 dBmreliable signal strength
-67 dBmreliable signal strength
-70 dBmNot a strong signal. Light browsing and email.
-80 dBmUnreliable signal strength, will not suffice for most services. Connecting to the network.
-90 dBmThe chances of even connecting are very low at this level.


Saturday, 17 August 2019

hashmap datastructure with php REPL





php > $user_cache=array("uid1"  => "1", "uid2" => "2");

php > echo $user_cache["uid1"];
1

php > if(!$user_cache["uid3"]) { echo "cache miss";}
PHP Notice:  Undefined index: uid3 in php shell code on line 1

Notice: Undefined index: uid3 in php shell code on line 1
cache miss


Thursday, 25 July 2019

java async task



.map

jshell> var t1 = CompletableFuture.completedFuture(100)
t1 ==> java.util.concurrent.CompletableFuture@25f38edc[Completed normally]

jshell> var t2 = t1.thenApply(x -> x * 2)
t2 ==> java.util.concurrent.CompletableFuture@1a86f2f1[Completed normally]

jshell> t2.get()
$14 ==> 200

.fmap

jshell> var t1 = CompletableFuture.completedFuture(100)
t1 ==> java.util.concurrent.CompletableFuture@506c589e[Completed normally]

jshell> var t2 = CompletableFuture.completedFuture(200)
t2 ==> java.util.concurrent.CompletableFuture@69d0a921[Completed normally]

jshell> var result = t1.thenCompose($ -> t2)
result ==> java.util.concurrent.CompletableFuture@7aec35a[Completed normally]

jshell> result.get()
$19 ==> 200

javascript equivalent

> var t1 = Promise.resolve(100)
undefined
> var t2 = t1.then(x => x * 2)
undefined
> t2
Promise {
  200,
  domain: 
   Domain {
     domain: null,
     _events: { error: [Function: debugDomainError] },
     _eventsCount: 1,
     _maxListeners: undefined,
     members: [] } }


Monday, 31 December 2018

Extracting URL components in Java

URL, Uniform Resource Locator is composed of
1) protocol
2) domain
3) path
4) query string
4) reference/ anchor

example:

[https]://[www.introverse.com]/[abc/def]?[id=1&id=2]#[index1]


scala> import java.net.URL
scala> val url = new URL("https://www.introverse.com/abc/def?id=1&id=2#index1")
url: java.net.URL = https://www.introverse.com/abc/def?id=1&id=2#index1

scala> url.getProtocol
res1: String = https

scala> url.getHost
res2: String = www.introverse.com

scala> url.getPath
res3: String = /abc/def

scala> url.getQuery
res4: String = id=1&id=2

scala> url.getRef
res5: String = index1

Sunday, 16 December 2018

oracle create Entity Relation Diagram(ERD) from existing SQL DDL


I have a existing DDL for my application but I wanted to see the ERD for that. Oracle SQL developer provides Data modeler feature to generate ERD from existing DDL as shown in following screenshot
(import as Data Dictionary)