{
    "commands": [
        {
            "filename": "commands/zero-results.coffee",
            "template": "zgrep -h \"INFO\" /opt/solr/server/logs/solr-{{answers.startDate}}.*.log.gz /opt/solr/server/logs/solr.log | grep \"select\" | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\"' | grep \"hits=0\" | awk '{print $10}' | awk '{split($0, arr, \"&\"); for(queryString in arr) print arr[queryString] }' | grep \"^spellcheck.q=[^*]*\" | sort | uniq -c | sort -nr | head -20"
        },
        {
            "filename": "commands/zero-results-total.coffee",
            "template": "zgrep -h \"INFO\" /opt/solr/server/logs/solr-{{answers.startDate}}.*.log.gz /opt/solr/server/logs/solr.log | grep \"select\" | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\"' | grep \"hits=0\" | wc -l"
        },
        {
            "filename": "commands/totalSearch.coffee",
            "template": "zgrep -h \"INFO\" /opt/solr/server/logs/solr-{{answers.startDate}}.*.log.gz /opt/solr/server/logs/solr.log | grep \"select\" | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\"' | wc -l"
        },
        {
            "filename": "commands/topSearch.coffee",
            "template": "zgrep -h \"INFO\" /opt/solr/server/logs/solr-{{answers.startDate}}.*.log.gz /opt/solr/server/logs/solr.log | grep \"select\" | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\"' | awk '{print $10}' | awk '{split($0, arr, \"&\"); for(queryString in arr) print arr[queryString] }' | sed s/params={/''/  | sed s/}/''/ | grep \"^{{answers.queryParam}}=[*]*\" | sort | uniq -c | sort -nr | head -{{answers.size}}"
        },
        {
            "filename": "commands/topParamValueSearches.coffee",
            "template": "zgrep -h \"INFO\" /opt/solr/server/logs/solr-{{answers.startDate}}.*.log.gz /opt/solr/server/logs/solr.log | grep \"select\" | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\"' | awk '{print $10}' | awk '{split($0, arr, \"&\"); for(queryString in arr) print arr[queryString] }' |  sed s/params={/''/  | sed s/}/''/ | grep \"^{{answers.queryParamValue}}\" | sort | uniq -c | sort -nr | head -{{answers.size}}"
        },
        {
            "filename": "commands/solrGrepGroupByTime.coffee",
            "template": "zgrep -h \"{{answers.queryParam}}\" {{answers.logLocation}}/solr-{{answers.startDate}}.*.log.gz {{answers.logLocation}}/solr.log | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print $1, substr($2,1,{{answers.timePositionToCut}} )}' | sort | uniq -c | sort -k 3"
        },
        {
            "filename": "commands/solrGrepCounter.coffee",
            "template": "zgrep -h \"{{answers.queryParam}}\" /opt/solr/server/logs/solr-{{answers.startDate}}.*.log.gz /opt/solr/server/logs/solr.log | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print}' | wc -l"
        },
        {
            "filename": "commands/solrCallsNotFromSaas.coffee",
            "template": "zgrep -h \"INFO\" /opt/solr/server/logs/solr-{{answers.startDate}}.*.log.gz /opt/solr/slave/server/logs/solr-{{answers.startDate}}.*.log.gz /opt/solr/slave/server/logs/solr.log /opt/solr/server/logs/solr.log | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\"' | grep  \"path=/select\" | grep -v \"spec_fct*\" | wc -l"
        },
        {
            "filename": "commands/saasTotalSearch.coffee",
            "template": "zgrep -h \"AfterSearchProcessor - Saas \" /opt/webapps/saas/logs/saas-{{answers.startDate}}*.log.gz /opt/webapps/saas/logs/saas.log | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print $0}' | wc -l"
        },
        {
            "filename": "commands/saasTopTime.coffee",
            "template": "zgrep -h \"AfterSearchProcessor - Saas \" /opt/webapps/saas/logs/saas-{{answers.startDate}}*.log.gz /opt/webapps/saas/logs/saas.log | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print $1, $2, {{answers.column}}  }' | sort -nr -k3 | head -{{answers.size}}"
        },
        {
            "filename": "commands/saasRulesSearch.coffee",
            "template": "zgrep -h \"{{answers.queryParam}}\" /opt/webapps/saas/logs/saas-rules*{{answers.startDate}}*.log.gz /opt/webapps/saas/logs/saas-rules.log | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print $1, $2, $NF}'"
        },
        {
            "filename": "commands/saasRulesReceivedProdutsCounter.coffee",
            "template": "zgrep -h \"{{answers.queryParam}}\" /opt/webapps/saas/logs/saas-rules*{{answers.startDate}}*.log.gz /opt/webapps/saas/logs/saas-rules.log | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print $1, substr($2,1,{{answers.timePositionToCut}} )}' | sort | uniq -c | sort -k 3"
        },
        {
            "filename": "commands/saasResponseTimeCounter.coffee",
            "template": "zgrep -h \"AfterSearchProcessor - Saas \" /opt/webapps/saas/logs/saas-{{answers.startDate}}*.log.gz /opt/webapps/saas/logs/saas.log | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print {{answers.column}}  }' | awk '{if($0  >= {{answers.greaterThanComparison}}  && $0 <= {{answers.lessThanComparison}}) print $0}' | wc -l"
        },
        {
            "filename": "commands/saasQPSFilter.coffee",
            "template": "zgrep -h \"{{answers.filter}}\" /opt/webapps/saas/logs/saas-{{answers.startDate}}*.log.gz /opt/webapps/saas/logs/saas.log | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print $1, substr($2,1,8)}' | sort | uniq -c | sort -gr | head -10"
        },
        {
            "filename": "commands/saasQPS.coffee",
            "template": "zgrep -h \"AfterSearchProcessor - Saas \" /opt/webapps/saas/logs/saas-{{answers.startDate}}*.log.gz /opt/webapps/saas/logs/saas.log | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print $1, substr($2,1,8)}' | sort | uniq -c | sort -gr | head -10"
        },
        {
            "filename": "commands/saasQPM.coffee",
            "template": "zgrep -h \"AfterSearchProcessor - Saas \" /opt/webapps/saas/logs/saas-{{answers.startDate}}*.log.gz /opt/webapps/saas/logs/saas.log  /opt/webapps/saas/logs/saas-slave-console.log | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print $1, substr($2,1,5)}' | sort | uniq -c | sort -gr | head -10"
        },
        {
            "filename": "commands/saasMasterProductBody.coffee",
            "template": "zgrep -h \"c.b.s.i.processor.IndexerProcessor - Body:\" /opt/webapps/saas/logs/saas-master*{{answers.startDate}}*.log.gz /opt/webapps/saas/logs/saas-master.log | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print}' | grep \"{{answers.queryParam}}\" | tail -1"
        },
        {
            "filename": "commands/saasGrepCounter.coffee",
            "template": "zgrep -h \"{{answers.queryParam}}\" /opt/webapps/saas/logs/saas-{{answers.startDate}}*log.gz /opt/webapps/saas/logs/saas.log | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print $0}' | wc -l"
        },
        {
            "filename": "commands/saasExecutedRules.coffee",
            "template": "zgrep -h \"{{answers.queryParam}}\" /opt/webapps/saas/logs/saas-rules-{{answers.startDate}}*log.gz /opt/webapps/saas/logs/saas-rules.log | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print $0}' | cut -d \" \" -f8- | sort | uniq -c"
        },
        {
            "filename": "commands/saasErrorSummary.coffee",
            "template": "zgrep -h -s \"{{answers.queryParam}}\" /opt/webapps/saas/logs/saas-{{answers.startDate}}*log.gz /opt/webapps/saas/logs/saas.log | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print $0}' | awk '{print {{answers.column}} }' | sort | uniq -c"
        },
        {
            "filename": "commands/qps.coffee",
            "template": "zgrep -h \"INFO\" /opt/solr/server/logs/solr-{{answers.startDate}}.*.log.gz /opt/solr/server/logs/solr.log | grep \"path=/select\" | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print $1, substr($2,1,8)}' | sort | uniq -c | sort -gr | head -10"
        },
        {
            "filename": "commands/qpm.coffee",
            "template": "zgrep -h \"INFO\" /opt/solr/server/logs/solr-{{answers.startDate}}.*.log.gz /opt/solr/server/logs/solr.log | grep  \"path=/select\" | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print $1, substr($2,1,5)}' | sort | uniq -c | sort -gr | head -10"
        },
        {
            "filename": "commands/nginxTopResponseTime.coffee",
            "template": "cat /var/log/nginx/access.log | awk '$4 >= \"{{answers.start}}\" && $4 < \"{{answers.end}}\"' | awk '{print {{answers.column}}  }' | sort | uniq -c | sort -gr -k2 |  head -10"
        },
        {
            "filename": "commands/nginxResponseTimeCounter.coffee",
            "template": "zgrep -h \"\" /var/log/nginx/access.log-{{answers.logFilePattern}}.gz /var/log/nginx/access.log | awk '$4 >= \"{{answers.start}}\" && $4 < \"{{answers.end}}\"' | awk '{print $9 }' | sort | uniq -c"
        },
        {
            "filename": "commands/nginxResponseTimeAverageInRelationWithConnectionTime.coffee",
            "template": "cat /var/log/nginx/access.log | awk '$4 >= \"{{answers.start}}\" && $4 < \"{{answers.end}}\"' |  awk '{if($NF  >= {{answers.greaterThanComparison}}  && $NF <= {{answers.lessThanComparison}}) print $0}' | awk '{print {{answers.column}}  }' | awk '{ sum += $1; n++ } END { if (n > 0) print sum / n; }'"
        },
        {
            "filename": "commands/nginxResponseTimeAverage.coffee",
            "template": "cat /var/log/nginx/access.log | awk '$4 >= \"{{answers.start}}\" && $4 < \"{{answers.end}}\"' | awk '{print {{answers.column}}  }' | awk '{ sum += $1; n++ } END { if (n > 0) print sum / n; }'"
        },
        {
            "filename": "commands/nginxQPS.coffee",
            "template": "cat /var/log/nginx/access.log | awk '$4 >= \"{{answers.start}}\" && $4 < \"{{answers.end}}\"' | grep \"{{answers.grepCommand}}\" | awk '$4 >= \"{{answers.start}}\" && $4 < \"{{answers.end}}\"' |  awk '{print substr($4,0,17)}' | sort | uniq -c | sort -gr | head -100 "
        },
        {
            "filename": "commands/nginxGrepCounter.coffee",
            "template": "cat /var/log/nginx/access.log | awk '$4 >= \"{{answers.start}}\" && $4 < \"{{answers.end}}\"' | grep \"{{answers.grepCommand}}\" | wc -l"
        },
        {
            "filename": "commands/lowQueries.coffee",
            "template": "zgrep -h \"INFO\" /opt/solr/server/logs/solr-{{answers.startDate}}.*.log.gz /opt/solr/slave/server/logs/solr-{{answers.startDate}}.*.log.gz /opt/solr/slave/server/logs/solr.log /opt/solr/server/logs/solr.log | grep \"select\" | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\"' | grep  \"path=/select\" | grep QTime | awk '{print substr($NF, 7, 12)}' | sort | uniq -c | sort  -k 2gr | head -10"
        },
        {
            "filename": "commands/extract-query-sample.coffee",
            "template": "zgrep -h \"INFO\" /opt/solr/server/logs/solr-{{answers.startDate}}.*.log.gz /opt/solr/server/logs/solr.log | grep \"select\" | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\"' | grep \"q=*:*\" | awk '{print $10}' | head -{{answers.size}}"
        },
        {
            "filename": "commands/current-total-requests.coffee",
            "template": "zgrep -h \"INFO\" /opt/solr/server/logs/solr-{{answers.startDate}}.*.log.gz /opt/solr/server/logs/solr.log | grep \"select\" | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\"' | awk '{ print $1 \" \" $2}' | wc -l"
        },
        {
            "filename": "commands/averageResponse.coffee",
            "template": "zgrep -h \"AfterSearchProcessor - Saas \" /opt/webapps/saas/logs/saas-{{answers.startDate}}*.log.gz /opt/webapps/saas/logs/saas.log | awk '$1>=\"{{answers.startDate}}\" && $1<=\"{{answers.endDate}}\"' |  awk '$2>=\"{{answers.startTime}}\" && $2<=\"{{answers.endTime}}\" {print {{answers.column}} }' | awk '{ sum += $1; n++ } END { if (n > 0) print sum / n; }'"
        },
        {
            "filename": "commands/nginxStatusCodeSummary.coffee",
            "template": "zgrep -h \"\" /var/log/nginx/access.log-{{answers.logFilePattern}}.gz /var/log/nginx/access.log | awk '$4 >= \"{{answers.start}}\" && $4 < \"{{answers.end}}\"' | awk '{print $9 }' | sort | uniq -c"
        }
    ]
}