"Fossies" - the Fresh Open Source Software Archive

Member "sysdig-0.26.1/userspace/sysdig/chisels/v_procs_errors.lua" (24 May 2019, 4052 Bytes) of package /linux/misc/sysdig-0.26.1.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Lua source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 --[[
    2 Copyright (C) 2013-2018 Draios Inc dba Sysdig.
    3 
    4 This file is part of sysdig.
    5 
    6 Licensed under the Apache License, Version 2.0 (the "License");
    7 you may not use this file except in compliance with the License.
    8 You may obtain a copy of the License at
    9 
   10     http://www.apache.org/licenses/LICENSE-2.0
   11 
   12 Unless required by applicable law or agreed to in writing, software
   13 distributed under the License is distributed on an "AS IS" BASIS,
   14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   15 See the License for the specific language governing permissions and
   16 limitations under the License.
   17 
   18 --]]
   19 
   20 view_info = 
   21 {
   22     id = "procs_errors",
   23     name = "Processes Errors",
   24     description = "This view shows system error counters for processes. Errors are grouped into 4 categories: file I/O, network I/O, memory allocation and 'other'.",
   25     tips = {
   26         "If you click 'enter' on a selection in this chart, you will be able to see the specific errors that the process is generating.",
   27         "Digging into a process by clicking on F6 will let you explore the system calls for that specific process and see the full details about what's causing the errors."
   28     },
   29     tags = {"Default", "wsysdig"},
   30     filter = "evt.type!=switch",
   31     view_type = "table",
   32     applies_to = {"", "container.id", "fd.name", "fd.containername", "fd.sport", "fd.sproto", "evt.type", "fd.directory", "fd.containerdirectory", "k8s.pod.id", "k8s.rc.id", "k8s.rs.id", "k8s.svc.id", "k8s.ns.id", "marathon.app.id", "marathon.group.name", "mesos.task.id", "mesos.framework.name"},
   33     drilldown_target = "errors",
   34     use_defaults = true,
   35     columns = 
   36     {
   37         {
   38             name = "NA",
   39             field = "proc.pid",
   40             is_key = true
   41         },
   42         {
   43             name = "FILE",
   44             field = "evt.count.error.file",
   45             description = "Number of file I/O errors generated by the process during the sample interval. On trace files, this is the total for the whole file.",
   46             colsize = 8,
   47             aggregation = "SUM"
   48         },
   49         {
   50             name = "NET",
   51             field = "evt.count.error.net",
   52             description = "Number of network I/O errors generated by the process during the sample interval. On trace files, this is the total for the whole file.",
   53             colsize = 8,
   54             aggregation = "SUM"
   55         },
   56         {
   57             name = "MEMORY",
   58             field = "evt.count.error.memory",
   59             description = "Number of memory allocation/release related errors generated by the process during the sample interval. On trace files, this is the total for the whole file.",
   60             colsize = 8,
   61             aggregation = "SUM"
   62         },
   63         {
   64             name = "OTHER",
   65             field = "evt.count.error.other",
   66             description = "Number of errors generated by the process that don't fall in any of the previous categories. E.g. signal or event related errors. On trace files, this is the total for the whole file.",
   67             colsize = 8,
   68             aggregation = "SUM"
   69         },
   70         {
   71             name = "PID",
   72             description = "Process PID.",
   73             field = "proc.pid",
   74             colsize = 8,
   75         },
   76         {
   77             tags = {"containers"},
   78             name = "Container",
   79             field = "container.name",
   80             description = "Name of the container. What this field contains depends on the containerization technology. For example, for docker this is the content of the 'NAMES' column in 'docker ps'",
   81             colsize = 20
   82         },
   83         {
   84             name = "Command",
   85             description = "Full command line of the process.",
   86             field = "proc.exeline",
   87             aggregation = "MAX",
   88             colsize = 0
   89         }
   90     },
   91     actions = 
   92     {
   93         {
   94             hotkey = "9",
   95             command = "kill -9 %proc.pid",
   96             description = "kill -9",
   97             ask_confirmation = true,
   98             wait_finish = false
   99         },
  100         {
  101             hotkey = "c",
  102             command = "gcore %proc.pid",
  103             description = "generate core",
  104         },
  105         {
  106             hotkey = "g",
  107             command = "gdb -p %proc.pid",
  108             description = "gdb attach",
  109             wait_finish = false
  110         },
  111         {
  112             hotkey = "k",
  113             command = "kill %proc.pid",
  114             description = "kill",
  115             ask_confirmation = true,
  116             wait_finish = false
  117         },
  118         {
  119             hotkey = "l",
  120             command = "ltrace -p %proc.pid",
  121             description = "ltrace",
  122         },
  123         {
  124             hotkey = "s",
  125             command = "gdb -p %proc.pid --batch --quiet -ex \"thread apply all bt full\" -ex \"quit\"",
  126             description = "print stack",
  127         },
  128     },
  129 }