public PerfRecordTimeConv(Stream stream, PerfEventHeader header)
 {
     Header = header;
     TimeShift = stream.Read<ulong>();
     TimeMult = stream.Read<ulong>();
     TimeZero = stream.Read<ulong>();
 }
 public PerfRecordComm(Stream stream, PerfEventHeader header)
 {
     Header = header;
     Pid    = stream.Read <uint>();
     Tid    = stream.Read <uint>();
     Comm   = stream.ReadArray <byte>(header.GetRemainingBytes() - sizeof(uint) * 2);
 }
        public unsafe PerfRecordHeaderAttr(Stream stream, PerfEventHeader header)
        {
            Header = header;
            Attr   = stream.Read <PerfEventAttr>();

            var remainingBytes = header.GetRemainingBytes() - sizeof(PerfEventAttr);

            Id = stream.ReadArray <ulong>(remainingBytes);
        }
Beispiel #4
0
        public PerfRecordHeaderFeature(Stream stream, PerfEventHeader header)
        {
            Header    = header;
            FeatureId = stream.Read <ulong>();

            var remainingBytes = header.GetRemainingBytes() - sizeof(ulong);

            Data = stream.ReadArray <byte>(remainingBytes);
        }
Beispiel #5
0
 public PerfRecordFork(Stream stream, PerfEventHeader header)
 {
     Header = header;
     Pid    = stream.Read <uint>();
     Ppid   = stream.Read <uint>();
     Tid    = stream.Read <uint>();
     Ptid   = stream.Read <uint>();
     Time   = stream.Read <ulong>();
 }
 public PerfRecordMmap(Stream stream, PerfEventHeader header)
 {
     Header   = header;
     Pid      = stream.Read <uint>();
     Tid      = stream.Read <uint>();
     Addr     = stream.Read <ulong>();
     Len      = stream.Read <ulong>();
     Pgoff    = stream.Read <ulong>();
     Filename = stream.ReadArray <byte>(header.GetRemainingBytes() - sizeof(uint) * 2 - sizeof(ulong) * 3);
 }
        public PerfRecordEventUpdate(Stream stream, PerfEventHeader header)
        {
            Header = header;
            Type   = stream.Read <ulong>();
            Id     = stream.Read <ulong>();

            var remainingBytes = header.GetRemainingBytes() - sizeof(ulong) * 2;

            Data = stream.ReadArray <byte>(remainingBytes);
        }
Beispiel #8
0
        public PerfRecordThreadMap(Stream stream, PerfEventHeader header)
        {
            Header  = header;
            Nr      = stream.Read <ulong>();
            Entries = new PerfRecordThreadMapEntry[Nr];

            for (ulong i = 0; i < Nr; i++)
            {
                Entries[i] = new PerfRecordThreadMapEntry(stream);
            }
        }
        public unsafe PerfRecordBpfEvent(Stream stream, PerfEventHeader header)
        {
            Header = header;
            Type   = stream.Read <PerfBpfEventType>();
            Flags  = stream.Read <ushort>();
            Id     = stream.Read <uint>();

            var remainingBytes = header.GetRemainingBytes() - sizeof(PerfBpfEventType) - sizeof(ushort) - sizeof(uint);

            Tag = stream.ReadArray <byte>(remainingBytes);
        }
Beispiel #10
0
        public PerfRecordKSymbol(Stream stream, PerfEventHeader header)
        {
            Header   = header;
            Addr     = stream.Read <ulong>();
            Len      = stream.Read <uint>();
            KsymType = stream.Read <ushort>();
            Flags    = stream.Read <ushort>();

            var remainingBytes = header.GetRemainingBytes() - sizeof(ulong) - sizeof(uint) - (sizeof(ushort) * 2);

            Name = stream.ReadArray <byte>(remainingBytes);
        }
        public PerfRecordMmap2(Stream stream, PerfEventHeader header)
        {
            Header         = header;
            Pid            = stream.Read <uint>();
            Tid            = stream.Read <uint>();
            Addr           = stream.Read <ulong>();
            Len            = stream.Read <ulong>();
            Pgoff          = stream.Read <ulong>();
            Maj            = stream.Read <uint>();
            Min            = stream.Read <uint>();
            Ino            = stream.Read <ulong>();
            Ino_generation = stream.Read <ulong>();
            Prot           = stream.Read <uint>();
            Flags          = stream.Read <uint>();

            var remainingSize = header.GetRemainingBytes() - (sizeof(uint) * 6) - (sizeof(ulong) * 5);

            filename = stream.ReadArray <byte>(remainingSize);
        }
 public PerfRecordCpuMap(Stream stream, PerfEventHeader header)
 {
     Header = header;
     Data   = new PerfRecordCpuMapData(stream, header.GetRemainingBytes());
 }
 public PerfRecordSample(Stream stream, PerfEventHeader header, PerfRecordIndexes indexes)
 {
     Header   = header;
     Array    = stream.ReadArray <ulong>(header.GetRemainingBytes());
     _indexes = indexes;
 }