Models for collectors

pydantic model duetector.collectors.models.Tracking[source]

Bases: BaseModel

Tracking model for all tracers, bring tracer’s data into a common model

Extended fields will be stored in _extended field as a dict Use Tracking.from_namedtuple to create a Tracking instance from tracer’s data

Show JSON schema
{
   "title": "Tracking",
   "description": "Tracking model for all tracers, bring tracer's data into a common model\n\nExtended fields will be stored in ``_extended`` field as a dict\nUse ``Tracking.from_namedtuple`` to create a Tracking instance from tracer's data",
   "type": "object",
   "properties": {
      "tracer": {
         "title": "Tracer",
         "type": "string"
      },
      "pid": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Pid"
      },
      "uid": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Uid"
      },
      "gid": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Gid"
      },
      "comm": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "Unknown",
         "title": "Comm"
      },
      "cwd": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Cwd"
      },
      "fname": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Fname"
      },
      "dt": {
         "anyOf": [
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Dt"
      },
      "extended": {
         "default": {},
         "title": "Extended",
         "type": "object"
      }
   },
   "required": [
      "tracer"
   ]
}

Fields:
field comm: str | None = 'Unknown'

Command name

field cwd: str | None = None

Current working directory of process

field dt: datetime | None = None

datetime of event

field extended: Dict[str, Any] = {}

Extended fields, will be stored in extended field as a dict

field fname: str | None = None

File name which is being accessed

field gid: int | None = None

Group ID of user

field pid: int | None = None

Process ID

field tracer: str [Required]

Tracer’s name

field uid: int | None = None

User ID

static from_namedtuple(tracer, data: NamedTuple) Tracking[source]

Create a Tracking instance from tracer’s data

classmethod normalize_field(field, data)[source]

Normalize field name and data

classmethod serialize_field(field, data)[source]

Serialize filed to one of [‘bool’, ‘str’, ‘bytes’, ‘int’, ‘float’] or a sequence of those types

set_span(collector, span)[source]