コード例 #1
0
 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);
 }
コード例 #2
0
        public unsafe PerfRecordHeaderAttr(Stream stream, PerfEventHeader header)
        {
            Header = header;
            Attr   = stream.Read <PerfEventAttr>();

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

            Id = stream.ReadArray <ulong>(remainingBytes);
        }
コード例 #3
0
        public PerfRecordHeaderFeature(Stream stream, PerfEventHeader header)
        {
            Header    = header;
            FeatureId = stream.Read <ulong>();

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

            Data = stream.ReadArray <byte>(remainingBytes);
        }
コード例 #4
0
 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);
 }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
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);
        }
コード例 #8
0
        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);
        }
コード例 #9
0
 public PerfRecordCpuMap(Stream stream, PerfEventHeader header)
 {
     Header = header;
     Data   = new PerfRecordCpuMapData(stream, header.GetRemainingBytes());
 }
コード例 #10
0
 public PerfRecordSample(Stream stream, PerfEventHeader header, PerfRecordIndexes indexes)
 {
     Header   = header;
     Array    = stream.ReadArray <ulong>(header.GetRemainingBytes());
     _indexes = indexes;
 }