අන්තර්ගතය වෙත යන්න

Output

"result": {
"output_file": "out.json",
"progress_file": "prog.json",
"tcp_fail_threshold": 1000
},

පලමු වර Netshoot run කිරීමෙන් පසුව result.progress_file සඳහා දී ඇති නමට අනුව json file එකක් හැදිලා තියෙවි. ඒ file එකේ තමයි සියලුම host ව්ලාට අදාල test details තියෙන්නෙ.

පහල output file එකක example එකක් පහල තියෙනවා.

Example file

[
  {
    "Host": "www.facebook.com",
    "TotalTcpFail": 0,
    "Success": 2,
    "Maybe": 4,
    "MaxSpeed": 0.919445,
    "Err": "",
    "PayloadInfo": [
      {
        "Success": true,
        "Maybe": true,
        "Error": "",
        "PayloadName": "raw-http-GET",
        "TpcFailed": false,
        "Tls": {
          "Failed": false,
          "Error": "",
          "Servername": "www.facebook.com"
        },
        "MaxSpeed": 0.788401
      },
      {
        "Success": false,
        "Maybe": false,
        "Error": "",
        "PayloadName": "raw-http-HEAD",
        "TpcFailed": false,
        "Tls": {
          "Failed": true,
          "Error": "EOF",
          "Servername": "www.facebook.com"
        },
        "MaxSpeed": 0.0
      },
      {
        "Success": true,
        "Maybe": true,
        "Error": "",
        "PayloadName": "raw-http-PUT",
        "TpcFailed": false,
        "Tls": {
          "Failed": false,
          "Error": "",
          "Servername": "www.facebook.com"
        },
        "MaxSpeed": 0.919445
      },
      {
        "Success": false,
        "Maybe": true,
        "Error": "speedtest err: EOF",
        "PayloadName": "raw-http-POST",
        "TpcFailed": false,
        "Tls": {
          "Failed": false,
          "Error": "",
          "Servername": "www.facebook.com"
        },
        "MaxSpeed": 0.0
      },
      {
        "Success": false,
        "Maybe": true,
        "Error": "speedtest err: EOF",
        "PayloadName": "raw-http-PATCH",
        "TpcFailed": false,
        "Tls": {
          "Failed": false,
          "Error": "",
          "Servername": "www.facebook.com"
        },
        "MaxSpeed": 0.0
      }
    ]
  },
  {
    "Host": "m.facebook.com",
    "TotalTcpFail": 0,
    "Success": 4,
    "Maybe": 5,
    "MaxSpeed": 2.153463,
    "Err": "",
    "PayloadInfo": [
      {
        "Success": true,
        "Maybe": true,
        "Error": "",
        "PayloadName": "raw-http-GET",
        "TpcFailed": false,
        "Tls": {
          "Failed": false,
          "Error": "",
          "Servername": "m.facebook.com"
        },
        "MaxSpeed": 0.835495
      },
      {
        "Success": true,
        "Maybe": true,
        "Error": "",
        "PayloadName": "raw-http-HEAD",
        "TpcFailed": false,
        "Tls": {
          "Failed": false,
          "Error": "",
          "Servername": "m.facebook.com"
        },
        "MaxSpeed": 1.548489
      },
      {
        "Success": true,
        "Maybe": true,
        "Error": "",
        "PayloadName": "raw-http-PUT",
        "TpcFailed": false,
        "Tls": {
          "Failed": false,
          "Error": "",
          "Servername": "m.facebook.com"
        },
        "MaxSpeed": 2.153463
      },
      {
        "Success": true,
        "Maybe": true,
        "Error": "",
        "PayloadName": "raw-http-POST",
        "TpcFailed": false,
        "Tls": {
          "Failed": false,
          "Error": "",
          "Servername": "m.facebook.com"
        },
        "MaxSpeed": 1.668666
      },
      {
        "Success": false,
        "Maybe": true,
        "Error": "speedtest err: EOF",
        "PayloadName": "raw-http-PATCH",
        "TpcFailed": false,
        "Tls": {
          "Failed": false,
          "Error": "",
          "Servername": "m.facebook.com"
        },
        "MaxSpeed": 0.0
      }
    ]
  }
]

How to Read

ඉහත file එක සම්පූර්ණ Array එකක් කියලා බලාගන්න පුලුවන්. මේකෙ එක item එකක් අදාල වෙන්නෙ එක Node එහෙකට ඒ කියන්නෙ එක host එකක් check වෙද්දි ඒ host එක අදාල Node එකෙන් check වුන විදිය තමයි තියෙන්නෙ. Node කිහිපයක් තියෙනම් එකම Host එක ඒ node ඕක්කොගෙන්ම check වෙනවා.

ඒ වගේම එක item එකක් ඇතුලෙ PayloadInfo කියලා තව array එකක් තියෙනවා. මේ තියෙන්නෙ අර Payload file එකෙ තිබුන එ ඒ Payload වලට අදාලව result එක, payload එකට අදාල නමෙන් payload එක හොයාගන්න පුලුවන්.

Extract Info

මේකෙන් information extract කරගන්න අවශ්‍යනම් ඒ කියන්නෙ වැඩ කරන host file ටික වෙනම වගේ එකවර ගන්න ඕනනන්ම්, json path වගෙ use කරන්න පුලුවන්. online JSONPATH වගේ tool එකක් use කරන්න පුලුවන්.

  • Example එකක් විදිහට මේකට output file එක upload කරලා json path එකට $[?(@.PayloadInfo[?(@.MaxSpeed > 0)])].Host දැම්මොත් speedtest එක 0 ට වැඩියෙන් ආපු සියලුම Host list එක ගන්න පුලුවන්.

More Jsonpath example to extract Info

JsonPath Info
$[?(@.PayloadInfo[?(@.MaxSpeed > 0)])].Host එක Payload එකකින් හෝ speed එක 0 ට වැඩි සියලුම host
$[?(@.PayloadInfo[?(@.MaxSpeed > 0)])].PayloadInfo speedtest එක 0 ට වැඩි සියලුම Host Payload Info සමඟ