...

Text file src/github.com/shirou/gopsutil/_tools/v3migration/v3migration.sh

Documentation: github.com/shirou/gopsutil/_tools/v3migration

     1#!/usr/bin/env bash
     2
     3set -eu
     4
     5# this scripts is used when migrating v2 to v3.
     6# usage: cd ${GOPATH}/src/github.com/shirou/gopsutil && bash tools/v3migration/v3migration.sh
     7
     8
     9
    10DIR="$(cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd)"
    11ROOT=$(cd "${DIR}"/../.. && pwd)
    12
    13
    14## 1. refresh
    15cd "${ROOT}"
    16
    17/bin/rm -rf v3
    18
    19## 2. copy directories
    20# docker is removed, #464 will be fixed
    21mkdir -p v3
    22cp -rp cpu disk docker host internal load mem net process winservices v3
    23cp Makefile v3
    24
    25# build migartion tool
    26go build -o v3/v3migration "${DIR}"/v3migration.go
    27
    28
    29V3DIR=$(cd "${ROOT}"/v3 && pwd)
    30cd "${V3DIR}"
    31
    32## 3. mod
    33go mod init
    34
    35###  change import path
    36find . -name "*.go" -print0 | xargs -0 -I@ sed -i 's|"github.com/shirou/gopsutil/|"github.com/shirou/gopsutil/v3/|g' @
    37
    38############ Issues
    39
    40# #429 process.NetIOCounters is pointless on Linux
    41./v3migration "$(pwd)" 429
    42sed -i '/NetIOCounters/d' process/process.go
    43sed -i "/github.com\/shirou\/gopsutil\/v3\/net/d" process/process_bsd.go
    44
    45
    46# #464 CgroupMem : fix typo and wrong file names
    47sed -i 's|memoryLimitInBbytes|memoryLimitInBytes|g' docker/docker.go
    48sed -i 's|memoryLimitInBbytes|memory.limit_in_bytes|g' docker/docker_linux.go
    49sed -i 's|memoryFailcnt|memory.failcnt|g' docker/docker_linux.go
    50
    51
    52# fix #346
    53sed -i 's/Soft     int32/Soft     uint64/' process/process.go
    54sed -i 's/Hard     int32/Hard     uint64/' process/process.go
    55sed -i 's| //TODO too small. needs to be uint64||' process/process.go
    56sed -i 's|limitToInt(val string) (int32, error)|limitToUint(val string) (uint64, error)|' process/process_*.go
    57sed -i 's|limitToInt|limitToUint|' process/process_*.go
    58sed -i 's|return int32(res), nil|return uint64(res), nil|' process/process_*.go
    59sed -i 's|math.MaxInt32|math.MaxUint64|' process/process_*.go
    60
    61# fix #545
    62# variable names
    63sed -i 's|WritebackTmp|WriteBackTmp|g' mem/*.go
    64sed -i 's|Writeback|WriteBack|g' mem/*.go
    65sed -i 's|SReclaimable|Sreclaimable|g' mem/*.go
    66sed -i 's|SUnreclaim|Sunreclaim|g' mem/*.go
    67sed -i 's|VMallocTotal|VmallocTotal|g' mem/*.go
    68sed -i 's|VMallocUsed|VmallocUsed|g' mem/*.go
    69sed -i 's|VMallocChunk|VmallocChunk|g' mem/*.go
    70
    71# json field name
    72sed -i 's|hostid|hostId|g' host/host.go
    73sed -i 's|hostid|hostId|g' host/host_test.go
    74sed -i 's|sensorTemperature|temperature|g' host/host.go
    75sed -i 's|sensorTemperature|temperature|g' host/host_test.go
    76
    77sed -i 's|writeback|writeBack|g' mem/*.go
    78sed -i 's|writeBacktmp|writeBackTmp|g' mem/*.go
    79sed -i 's|pagetables|pageTables|g' mem/*.go
    80sed -i 's|swapcached|swapCached|g' mem/*.go
    81sed -i 's|commitlimit|commitLimit|g' mem/*.go
    82sed -i 's|committedas|committedAS|g' mem/*.go
    83sed -i 's|hightotal|highTotal|g' mem/*.go
    84sed -i 's|highfree|highFree|g' mem/*.go
    85sed -i 's|lowtotal|lowTotal|g' mem/*.go
    86sed -i 's|lowfree|lowFree|g' mem/*.go
    87sed -i 's|swaptotal|swapTotal|g' mem/*.go
    88sed -i 's|swapfree|swapFree|g' mem/*.go
    89sed -i 's|vmalloctotal|vmallocTotal|g' mem/*.go
    90sed -i 's|vmallocused|vmallocUsed|g' mem/*.go
    91sed -i 's|vmallocchunk|vmallocChunk|g' mem/*.go
    92sed -i 's|hugepagestotal|hugePagesTotal|g' mem/*.go
    93sed -i 's|hugepagesfree|hugePagesFree|g' mem/*.go
    94sed -i 's|hugepagesize|hugePageSize|g' mem/*.go
    95sed -i 's|pgin|pgIn|g' mem/*.go
    96sed -i 's|pgout|pgOut|g' mem/*.go
    97sed -i 's|pgfault|pgFault|g' mem/*.go
    98sed -i 's|pgmajfault|pgMajFault|g' mem/*.go
    99
   100sed -i 's|hardwareaddr|hardwareAddr|g' net/*.go
   101sed -i 's|conntrackCount|connTrackCount|g' net/*.go
   102sed -i 's|conntrackMax|connTrackMax|g' net/*.go
   103sed -i 's|delete_list|deleteList|g' net/*.go
   104sed -i 's|insert_failed|insertFailed|g' net/*.go
   105sed -i 's|early_drop|earlyDrop|g' net/*.go
   106sed -i 's|expect_create|expectCreate|g' net/*.go
   107sed -i 's|expect_delete|expectDelete|g' net/*.go
   108sed -i 's|search_restart|searchRestart|g' net/*.go
   109sed -i 's|icmp_error|icmpError|g' net/*.go
   110sed -i 's|expect_new|expectNew|g' net/*.go
   111
   112
   113
   114# fix no more public API/types/constants defined only for some platforms
   115
   116sed -i 's|CTLKern|ctlKern|g' cpu/*.go
   117sed -i 's|CPNice|cpNice|g' cpu/*.go
   118sed -i 's|CPSys|cpSys|g' cpu/*.go
   119sed -i 's|CPIntr|cpIntr|g' cpu/*.go
   120sed -i 's|CPIdle|cpIdle|g' cpu/*.go
   121sed -i 's|CPUStates|cpUStates|g' cpu/*.go
   122sed -i 's|CTLKern|ctlKern|g' cpu/cpu_openbsd.go
   123sed -i 's|CTLHw|ctlHw|g' cpu/cpu_openbsd.go
   124sed -i 's|SMT|sMT|g' cpu/cpu_openbsd.go
   125sed -i 's|KernCptime|kernCptime|g' cpu/cpu_openbsd.go
   126sed -i 's|KernCptime2|kernCptime2|g' cpu/cpu_openbsd.go
   127sed -i 's|Win32_Processor|win32Processor|g' cpu/cpu_windows.go
   128
   129sed -i 's|DEVSTAT_NO_DATA|devstat_NO_DATA|g' disk/*.go
   130sed -i 's|DEVSTAT_READ|devstat_READ|g' disk/*.go
   131sed -i 's|DEVSTAT_WRITE|devstat_WRITE|g' disk/*.go
   132sed -i 's|DEVSTAT_FREE|devstat_FREE|g' disk/*.go
   133sed -i 's|Devstat|devstat|g' disk/*.go
   134sed -i 's|Bintime|bintime|g' disk/*.go
   135sed -i 's|SectorSize|sectorSize|g' disk/disk_linux.go
   136sed -i 's|FileFileCompression|fileFileCompression|g' disk/disk_windows.go
   137sed -i 's|FileReadOnlyVolume|fileReadOnlyVolume|g' disk/disk_windows.go
   138
   139sed -i 's|USER_PROCESS|user_PROCESS|g' host/host_*.go
   140sed -i 's|LSB|lsbStruct|g' host/host_linux*
   141
   142sed -i 's| BcacheStats | bcacheStats |g' mem/*.go
   143
   144sed -i 's|TCPStatuses|tcpStatuses|g' net/*.go
   145sed -i 's|CT_ENTRIES|ctENTRIES|g' net/net_linux.go
   146sed -i 's|CT_SEARCHED|ctSEARCHED|g' net/net_linux.go
   147sed -i 's|CT_FOUND|ctFOUND|g' net/net_linux.go
   148sed -i 's|CT_NEW|ctNEW|g' net/net_linux.go
   149sed -i 's|CT_INVALID|ctINVALID|g' net/net_linux.go
   150sed -i 's|CT_IGNORE|ctIGNORE|g' net/net_linux.go
   151sed -i 's|CT_DELETE|ctDELETE|g' net/net_linux.go
   152sed -i 's|CT_DELETE_LIST|ctDELETE_LIST|g' net/net_linux.go
   153sed -i 's|CT_INSERT|ctINSERT|g' net/net_linux.go
   154sed -i 's|CT_INSERT_FAILED|ctINSERT_FAILED|g' net/net_linux.go
   155sed -i 's|CT_DROP|ctDROP|g' net/net_linux.go
   156sed -i 's|CT_EARLY_DROP|ctEARLY_DROP|g' net/net_linux.go
   157sed -i 's|CT_ICMP_ERROR|ctICMP_ERROR|g' net/net_linux.go
   158sed -i 's|CT_EXPECT_NEW|ctEXPECT_NEW|g' net/net_linux.go
   159sed -i 's|CT_EXPECT_CREATE|ctEXPECT_CREATE|g' net/net_linux.go
   160sed -i 's|CT_EXPECT_DELETE|ctEXPECT_DELETE|g' net/net_linux.go
   161sed -i 's|CT_SEARCH_RESTART|ctSEARCH_RESTART|g' net/net_linux.go
   162
   163sed -i 's|PageSize|pageSize|g' process/process_*.go
   164sed -i 's|PrioProcess|prioProcess|g' process/process_*.go
   165sed -i 's|ClockTicks|clockTicks|g' process/process_*.go
   166
   167
   168./v3migration "$(pwd)" issueRemoveUnusedValue
   169
   170
   171############ SHOULD BE FIXED BY HAND

View as plain text