Wolfgang Thallergcc16 merge934c3885 months agoHistory
522 lines · 8.3 KB · C
RawDownload
/* Copyright (C) 2021-2026 Free Software Foundation, Inc.   Contributed by Oracle.    This file is part of GNU Binutils.    This program is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 3, or (at your option)   any later version.    This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.    You should have received a copy of the GNU General Public License   along with this program; if not, write to the Free Software   Foundation, 51 Franklin Street - Fifth Floor, Boston,   MA 02110-1301, USA.  */ #ifndef _FILEDATA_H#define _FILEDATA_H #include "gp-defs.h"#include "gp-time.h" #include "vec.h"#include "data_pckts.h"#include "Histable.h" #define FSTYPESZ  16 #define VIRTUAL_FD_TOTAL    0#define VIRTUAL_FD_STDIN    1#define VIRTUAL_FD_STDOUT   2#define VIRTUAL_FD_STDERR   3#define VIRTUAL_FD_OTHERIO  4#define VIRTUAL_FD_NONE     -1 #define STDIN_FD            0#define STDOUT_FD           1#define STDERR_FD           2#define OTHERIO_FD          -1 #define OTHERIO_FILENAME    "<Other IO activity>"#define STDIN_FILENAME      "<stdin>"#define STDOUT_FILENAME     "<stdout>"#define STDERR_FILENAME     "<stderr>"#define TOTAL_FILENAME      NTXT("<Total>")#define UNKNOWNFD_FILENAME  "<pipe(), socket(), or other fds>" #define _1KB        1024#define _8KB        8192#define _32KB       32768#define _128KB      131072#define _256KB      262144#define _512KB      524288#define _1000KB     1048576#define _10MB       10485760#define _100MB      104857600#define _1GB        1073741824#define _10GB       10737418240#define _100GB      107374182400#define _1TB        1099511627776#define _10TB       10995116277760 class FileData : public Histable{  friend class IOActivity;public:  FileData (const char *fName);  FileData (FileData *fData);  ~FileData ();   virtual char *get_name (Histable::NameFormat nfmt);  virtual Histable *convertto (Histable_type, Histable* = NULL);   char *get_raw_name (Histable::NameFormat nfmt);  void setFsType (FileSystem_type fst);  void setFsType (const char* fst);   virtual Histable_type  get_type ()  {    return histType;  };   virtual uint64_t  get_addr ()  {    return virtualFd;  };   uint64_t  get_index ()  {    return virtualFd;  };   void init ();   char *  getFileName ()  {    return fileName;  }   void  addReadEvent (hrtime_t rt, int64_t nb)  {    readTime += rt;    readBytes += nb;    readCnt++;  }   hrtime_t  getReadTime ()  {    return readTime;  }   int64_t  getReadBytes ()  {    return readBytes;  }   int32_t  getReadCnt ()  {    return readCnt;  }   void  addWriteEvent (hrtime_t wt, int64_t nb)  {    writeTime += wt;    writeBytes += nb;    writeCnt++;  }   hrtime_t  getWriteTime ()  {    return writeTime;  }   int64_t  getWriteBytes ()  {    return writeBytes;  }   int32_t  getWriteCnt ()  {    return writeCnt;  }   void  addOtherEvent (hrtime_t ot)  {    otherTime += ot;    otherCnt++;  }   hrtime_t  getOtherTime ()  {    return otherTime;  }   int32_t  getOtherCnt ()  {    return otherCnt;  }   void  addErrorEvent (hrtime_t er)  {    errorTime += er;    errorCnt++;  }   hrtime_t  getErrorTime ()  {    return errorTime;  }   int32_t  getErrorCnt ()  {    return errorCnt;  }   void setFileDesList (int fd);   Vector<int> *  getFileDesList ()  {    return fileDesList;  }   void  setFileDes (int fd)  {    fileDes = fd;  }   int32_t  getFileDes ()  {    return fileDes;  }   void setVirtualFds (int64_t vfd);   Vector<int64_t> *  getVirtualFds ()  {    return virtualFds;  }   char *  getFsType ()  {    return fsType;  }   void  setVirtualFd (int64_t vFd)  {    virtualFd = vFd;  }   int64_t  getVirtualFd ()  {    return virtualFd;  }   void  setHistType (Histable::Type hType)  {    histType = hType;  }   Histable::Type  getHistType ()  {    return histType;  }   void setWriteStat (hrtime_t wt, int64_t nb);   hrtime_t  getWSlowestBytes ()  {    return wSlowestBytes;  }   int64_t  getWSmallestBytes ()  {    return wSmallestBytes;  }   int64_t  getWLargestBytes ()  {    return wLargestBytes;  }   int32_t  getW0KB1KBCnt ()  {    return w0KB1KBCnt;  }   int32_t  getW1KB8KBCnt ()  {    return w1KB8KBCnt;  }   int32_t  getW8KB32KBCnt ()  {    return w8KB32KBCnt;  }   int32_t  getW32KB128KBCnt ()  {    return w32KB128KBCnt;  }   int32_t  getW128KB256KBCnt ()  {    return w128KB256KBCnt;  }   int32_t  getW256KB512KBCnt ()  {    return w256KB512KBCnt;  }   int32_t  getW512KB1000KBCnt ()  {    return w512KB1000KBCnt;  }   int32_t  getW1000KB10MBCnt ()  {    return w1000KB10MBCnt;  }   int32_t  getW10MB100MBCnt ()  {    return w10MB100MBCnt;  }   int32_t  getW100MB1GBCnt ()  {    return w100MB1GBCnt;  }   int32_t  getW1GB10GBCnt ()  {    return w1GB10GBCnt;  }   int32_t  getW10GB100GBCnt ()  {    return w10GB100GBCnt;  }   int32_t  getW100GB1TBCnt ()  {    return w100GB1TBCnt;  }   int32_t  getW1TB10TBCnt ()  {    return w1TB10TBCnt;  }   void setReadStat (hrtime_t rt, int64_t nb);   hrtime_t  getRSlowestBytes ()  {    return rSlowestBytes;  }   int64_t  getRSmallestBytes ()  {    return rSmallestBytes;  }   int64_t  getRLargestBytes ()  {    return rLargestBytes;  }   int32_t  getR0KB1KBCnt ()  {    return r0KB1KBCnt;  }   int32_t  getR1KB8KBCnt ()  {    return r1KB8KBCnt;  }   int32_t  getR8KB32KBCnt ()  {    return r8KB32KBCnt;  }   int32_t  getR32KB128KBCnt ()  {    return r32KB128KBCnt;  }   int32_t  getR128KB256KBCnt ()  {    return r128KB256KBCnt;  }   int32_t  getR256KB512KBCnt ()  {    return r256KB512KBCnt;  }   int32_t  getR512KB1000KBCnt ()  {    return r512KB1000KBCnt;  }   int32_t  getR1000KB10MBCnt ()  {    return r1000KB10MBCnt;  }   int32_t  getR10MB100MBCnt ()  {    return r10MB100MBCnt;  }   int32_t  getR100MB1GBCnt ()  {    return r100MB1GBCnt;  }   int32_t  getR1GB10GBCnt ()  {    return r1GB10GBCnt;  }   int32_t  getR10GB100GBCnt ()  {    return r10GB100GBCnt;  }   int32_t  getR100GB1TBCnt ()  {    return r100GB1TBCnt;  }   int32_t  getR1TB10TBCnt ()  {    return r1TB10TBCnt;  } private:  char *fileName;           // File name  hrtime_t readTime;        // The Total time for read operations;  hrtime_t writeTime;       // The Total time for write operations;  hrtime_t otherTime;       // The Total time for other IO operations;  hrtime_t errorTime;       // The Total time for failed IO operations;  int64_t readBytes;        //The total bytes read  int64_t writeBytes;       //The total bytes written  int32_t readCnt;          // The read count  int32_t writeCnt;         // The write count  int32_t otherCnt;         // The other IO count  int32_t errorCnt;         // The failed IO count  Vector<int> *fileDesList; // The list of file descriptors  Vector<int64_t> *virtualFds; // The list of file virtual descriptors  char fsType[FSTYPESZ];    // The file system type  int64_t virtualFd;        // The virtual file descriptor  int32_t fileDes;          // The file descriptor  Histable::Type histType;  // The Histable type: IOACTFILE, IOACTVFD, ...   // Write statistics  hrtime_t wSlowestBytes;  int64_t wSmallestBytes;  int64_t wLargestBytes;  int32_t w0KB1KBCnt;  int32_t w1KB8KBCnt;  int32_t w8KB32KBCnt;  int32_t w32KB128KBCnt;  int32_t w128KB256KBCnt;  int32_t w256KB512KBCnt;  int32_t w512KB1000KBCnt;  int32_t w1000KB10MBCnt;  int32_t w10MB100MBCnt;  int32_t w100MB1GBCnt;  int32_t w1GB10GBCnt;  int32_t w10GB100GBCnt;  int32_t w100GB1TBCnt;  int32_t w1TB10TBCnt;

Lines 1–500 of 522.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t