當前位置: 首頁>>代碼示例>>Golang>>正文


Golang glog.Fatalf函數代碼示例

本文整理匯總了Golang中github.com/skia-dev/glog.Fatalf函數的典型用法代碼示例。如果您正苦於以下問題:Golang Fatalf函數的具體用法?Golang Fatalf怎麽用?Golang Fatalf使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了Fatalf函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: Init

func Init() {
    rand.Seed(time.Now().UnixNano())
    if *resourcesDir == "" {
        _, filename, _, _ := runtime.Caller(0)
        *resourcesDir = filepath.Join(filepath.Dir(filename), "../..")
    }

    loadTemplates()

    var err error
    git, err = gitinfo.CloneOrUpdate(*gitRepoURL, *gitRepoDir, false)
    if err != nil {
        glog.Fatal(err)
    }
    evt := eventbus.New(nil)
    tileStats = tilestats.New(evt)

    // Connect to traceDB and create the builders.
    db, err := tracedb.NewTraceServiceDBFromAddress(*traceservice, types.PerfTraceBuilder)
    if err != nil {
        glog.Fatalf("Failed to connect to tracedb: %s", err)
    }

    masterTileBuilder, err = tracedb.NewMasterTileBuilder(db, git, *tileSize, evt)
    if err != nil {
        glog.Fatalf("Failed to build trace/db.DB: %s", err)
    }
    branchTileBuilder = tracedb.NewBranchTileBuilder(db, git, rietveld.RIETVELD_SKIA_URL, evt)
}
開發者ID:saltmueller,項目名稱:skia-buildbot,代碼行數:29,代碼來源:main.go

示例2: main

func main() {
    common.Init()
    grpclog.Init()

    // Set up a connection to the server.
    conn, err := grpc.Dial(*address, grpc.WithInsecure())
    if err != nil {
        glog.Fatalf("did not connect: %v", err)
    }
    defer util.Close(conn)

    // Build a TraceService client.
    builder := ptypes.PerfTraceBuilder
    if *gold {
        builder = types.GoldenTraceBuilder
    }
    ts, err := db.NewTraceServiceDB(conn, builder)
    if err != nil {
        log.Fatalf("Failed to create db.DB: %s", err)
    }
    glog.Infof("Opened tracedb")
    if *cpuprofile != "" {
        f, err := os.Create(*cpuprofile)
        if err != nil {
            glog.Fatalf("Failed to open profiling file: %s", err)
        }
        if err := pprof.StartCPUProfile(f); err != nil {
            glog.Fatalf("Failed to start profiling: %s", err)
        }
        defer pprof.StopCPUProfile()
        _main(ts)
    } else {
        _main(ts)
    }
}
開發者ID:saltmueller,項目名稱:skia-buildbot,代碼行數:35,代碼來源:main.go

示例3: main

func main() {
    defer common.LogPanic()
    common.InitWithMetrics("skia-ingestion", graphiteServer)

    // Initialize oauth client and start the ingesters.
    client, err := auth.NewJWTServiceAccountClient("", *serviceAccountFile, nil, storage.CloudPlatformScope)
    if err != nil {
        glog.Fatalf("Failed to auth: %s", err)
    }

    // Start the ingesters.
    config, err := sharedconfig.ConfigFromTomlFile(*configFilename)
    if err != nil {
        glog.Fatalf("Unable to read config file %s. Got error: %s", *configFilename, err)
    }

    ingesters, err := ingestion.IngestersFromConfig(config, client)
    if err != nil {
        glog.Fatalf("Unable to instantiate ingesters: %s", err)
    }
    for _, oneIngester := range ingesters {
        oneIngester.Start()
    }

    // Run the ingesters forever.
    select {}
}
開發者ID:1394,項目名稱:skia-buildbot,代碼行數:27,代碼來源:main.go

示例4: main

func main() {
    // Set up flags.
    dbConf := database.ConfigFromFlags(buildbot.PROD_DB_HOST, buildbot.PROD_DB_PORT, database.USER_ROOT, buildbot.PROD_DB_NAME, buildbot.MigrationSteps())

    // Global init to initialize glog and parse arguments.
    common.Init()

    if err := dbConf.PromptForPassword(); err != nil {
        glog.Fatal(err)
    }
    vdb, err := dbConf.NewVersionedDB()
    if err != nil {
        glog.Fatal(err)
    }

    // Get the current database version
    maxDBVersion := vdb.MaxDBVersion()
    glog.Infof("Latest database version: %d", maxDBVersion)

    dbVersion, err := vdb.DBVersion()
    if err != nil {
        glog.Fatalf("Unable to retrieve database version. Error: %s", err)
    }
    glog.Infof("Current database version: %d", dbVersion)

    if dbVersion < maxDBVersion {
        glog.Infof("Migrating to version: %d", maxDBVersion)
        err = vdb.Migrate(maxDBVersion)
        if err != nil {
            glog.Fatalf("Unable to retrieve database version. Error: %s", err)
        }
    }

    glog.Infoln("Database migration finished.")
}
開發者ID:kleopatra999,項目名稱:skia-buildbot,代碼行數:35,代碼來源:main.go

示例5: startMetrics

func startMetrics(appName, graphiteServer string) {
    if graphiteServer == "" {
        glog.Warningf("No metrics server specified.")
        return
    }

    addr, err := net.ResolveTCPAddr("tcp", graphiteServer)
    if err != nil {
        glog.Fatalf("Unable to resolve metrics server address: %s", err)
    }

    // Get the hostname and create the app-prefix.
    hostName, err := os.Hostname()
    if err != nil {
        glog.Fatalf("Unable to retrieve hostname: %s", err)
    }
    appPrefix := fmt.Sprintf("%s.%s", appName, strings.Replace(hostName, ".", "-", -1))

    // Runtime metrics.
    metrics.RegisterRuntimeMemStats(metrics.DefaultRegistry)
    go metrics.CaptureRuntimeMemStats(metrics.DefaultRegistry, SAMPLE_PERIOD)
    go graphite.Graphite(metrics.DefaultRegistry, SAMPLE_PERIOD, appPrefix, addr)

    // Uptime.
    uptimeGuage := metrics.GetOrRegisterGaugeFloat64("uptime", metrics.DefaultRegistry)
    go func() {
        startTime := time.Now()
        uptimeGuage.Update(0)
        for _ = range time.Tick(SAMPLE_PERIOD) {
            uptimeGuage.Update(time.Since(startTime).Seconds())
        }
    }()
}
開發者ID:Tiger66639,項目名稱:skia-buildbot,代碼行數:33,代碼來源:common.go

示例6: main

func main() {
    defer common.LogPanic()
    common.Init()

    args := flag.Args()
    if len(args) != 3 {
        glog.Errorf("Expected arguments: branch target buildID")
        glog.Errorf("i.e.:  git_master-skia razor-userdebug 1772442")
        os.Exit(1)
    }

    // Set the arguments necessary to lookup the git hash.
    branch := args[0]
    target := args[1]
    buildID := args[2]
    glog.Infof("Branch, target, buildID: %s, %s, %s", branch, target, buildID)

    // Set up the oauth client.
    var client *http.Client
    var err error

    // In this case we don't want a backoff transport since the Apiary backend
    // seems to fail a lot, so we basically want to fall back to polling if a
    // call fails.
    transport := &http.Transport{
        Dial: util.DialTimeout,
    }

    if *local {
        // Use a local client secret file to load data.
        client, err = auth.InstalledAppClient(OAUTH_CACHE_FILEPATH, CLIENT_SECRET_FILEPATH,
            transport,
            androidbuildinternal.AndroidbuildInternalScope,
            storage.CloudPlatformScope)
        if err != nil {
            glog.Fatalf("Unable to create installed app oauth client:%s", err)
        }
    } else {
        // Use compute engine service account.
        client = auth.GCEServiceAccountClient(transport)
    }

    f, err := androidbuild.New("/tmp/android-gold-ingest", client)
    if err != nil {
        glog.Fatalf("Failed to construct client: %s", err)
    }
    for {
        r, err := f.Get(branch, target, buildID)
        if err != nil {
            glog.Errorf("Failed to get requested info: %s", err)
            time.Sleep(1 * time.Minute)
            continue
        }
        if r != nil {
            glog.Infof("Successfully found: %#v", *r)
        }

        time.Sleep(1 * time.Minute)
    }
}
開發者ID:Tiger66639,項目名稱:skia-buildbot,代碼行數:60,代碼來源:main.go

示例7: getOAuthClient

// getOAuthClient returns an oauth client.
func getOAuthClient(cacheFilePath string) *http.Client {
    var client *http.Client
    var err error
    if *doOauth || *local {
        if *local {
            // Load client secrets file.  The client_secret.json file must come from
            // project id: 470362608618, which is whitelisted for access to
            // gs://chromium-skia-gm.

            client, err = auth.NewClientWithTransport(true, cacheFilePath, *clientSecretFile, nil, auth.SCOPE_READ_ONLY)
            if err != nil {
                glog.Fatalf("Failed to auth: (Did you download the client_secret.json file from the project with ID: google.com:chrome-skia #470362608618 ?) %s", err)
            }
        } else {
            // Load client id and secret from metadata.
            clientId := metadata.Must(metadata.ProjectGet(metadata.CHROMIUM_SKIA_GM_CLIENT_ID))
            clientSecret := metadata.Must(metadata.ProjectGet(metadata.CHROMIUM_SKIA_GM_CLIENT_SECRET))
            client, err = auth.NewClientFromIdAndSecret(clientId, clientSecret, cacheFilePath, auth.SCOPE_READ_ONLY)
            if err != nil {
                glog.Fatalf("Failed to auth: %s", err)
            }
        }
    }
    return client
}
開發者ID:1394,項目名稱:skia-buildbot,代碼行數:26,代碼來源:main.go

示例8: pullInit

func pullInit() {
    hostname, err := os.Hostname()
    if err != nil {
        // Never call glog before common.Init*.
        os.Exit(1)
    }
    common.InitWithMetrics("pulld."+hostname, graphiteServer)
    glog.Infof("Running with hostname: %s", hostname)

    client, err := auth.NewClient(*doOauth, *oauthCacheFile,
        storage.DevstorageFullControlScope,

        compute.ComputeReadonlyScope)
    if err != nil {
        glog.Fatalf("Failed to create authenticated HTTP client: %s", err)
    }
    glog.Info("Got authenticated client.")

    store, err = storage.New(client)
    if err != nil {
        glog.Fatalf("Failed to create storage service client: %s", err)
    }

    step(client, store, hostname)
    timeCh := time.Tick(time.Second * 60)
    go func() {
        for {
            select {
            case <-timeCh:
            case <-httpTriggerCh:
            }
            step(client, store, hostname)
        }
    }()
}
開發者ID:Tiger66639,項目名稱:skia-buildbot,代碼行數:35,代碼來源:pull.go

示例9: main

func main() {
    output, err := exec.RunSimple("gcloud compute project-info describe --format=json")
    if err != nil {
        glog.Fatalf("Failed to execute gcloud: %s", err)
    }
    pi := &ProjectInfo{
        CommonInstanceMetadata: Metadata{
            Items: []*Item{},
        },
    }
    if err := json.Unmarshal([]byte(output), pi); err != nil {
        glog.Fatalf("Failed to parse gcloud output: %s", err)
    }
    items := pi.CommonInstanceMetadata.Items
    body := ""
    for _, item := range items {
        if item.Key == metadata.JWT_SERVICE_ACCOUNT {
            body = item.Value
            break
        }
    }
    if body == "" {
        glog.Fatalf("Failed to find the JST service account in the metadata.")
    }
    if err := ioutil.WriteFile(OUTPUT_FILENAME, []byte(body), 0600); err != nil {
        glog.Fatalf("Failed to write %q: %s", OUTPUT_FILENAME, err)
    }
}
開發者ID:saltmueller,項目名稱:skia-buildbot,代碼行數:28,代碼來源:main.go

示例10: dumpTileToJSON

func dumpTileToJSON(store tiling.TileStore, nCommits int, nTraces int, fname string) {
    tile, err := store.Get(0, -1)
    if err != nil {
        glog.Fatal("Could not read tile: " + err.Error())
    }

    newTile := tile
    if (nCommits > 0) || (nTraces > 0) {
        lastIdx := tile.LastCommitIndex()
        if nCommits <= 0 {
            nCommits = lastIdx + 1
        }

        if nTraces <= 0 {
            nTraces = len(tile.Traces)
        }

        commitLen := util.MinInt(nCommits, lastIdx+1)
        startCommit := lastIdx + 1 - commitLen
        newTraces := map[string]tiling.Trace{}
        for key, trace := range tile.Traces {
            for i := startCommit; i <= lastIdx; i++ {
                if !trace.IsMissing(i) {
                    newTraces[key] = trace
                    break
                }
            }
            if len(newTraces) >= nTraces {
                break
            }
        }

        newCommits := tile.Commits[startCommit:]
        newParamSet := map[string][]string{}
        tiling.GetParamSet(newTraces, newParamSet)

        newTile = &tiling.Tile{
            Traces:    newTraces,
            ParamSet:  newParamSet,
            Commits:   newCommits,
            Scale:     tile.Scale,
            TileIndex: tile.TileIndex,
        }
    }

    result, err := json.Marshal(newTile)
    if err != nil {
        glog.Fatalf("Could not marshal to JSON: %s", err)
    }

    err = ioutil.WriteFile(fname, result, 0644)
    if err != nil {
        glog.Fatalf("Could not write output file %s", err)
    }

    fmt.Printf("Commits included: %d\n", len(newTile.Commits))
    fmt.Printf("Traces included:  %d\n", len(newTile.Traces))
}
開發者ID:kleopatra999,項目名稱:skia-buildbot,代碼行數:58,代碼來源:main.go

示例11: main

func main() {
    defer common.LogPanic()
    common.Init()

    if *emailTokenPath == "" {
        glog.Error("Must specify --email_token_path")
        return
    }

    defer glog.Flush()

    for _, shiftType := range allShiftTypes {

        res, err := http.Get(shiftType.nextSheriffEndpoint)
        if err != nil {
            glog.Fatalf("Could not HTTP Get: %s", err)
        }
        defer util.Close(res.Body)

        var jsonType map[string]interface{}
        if err := json.NewDecoder(res.Body).Decode(&jsonType); err != nil {
            glog.Fatalf("Could not unmarshal JSON: %s", err)
        }
        sheriffEmail, _ := jsonType["username"].(string)
        if sheriffEmail == NO_SHERIFF {
            glog.Infof("Skipping emailing %s because %s was specified", shiftType.shiftName, NO_SHERIFF)
            continue
        }
        sheriffUsername := strings.Split(string(sheriffEmail), "@")[0]

        emailTemplateParsed := template.Must(template.New("sheriff_email").Parse(EMAIL_TEMPLATE))
        emailBytes := new(bytes.Buffer)
        if err := emailTemplateParsed.Execute(emailBytes, struct {
            SheriffName      string
            SheriffType      string
            SheriffSchedules string
            SheriffDoc       string
            ScheduleStart    string
            ScheduleEnd      string
        }{
            SheriffName:      sheriffUsername,
            SheriffType:      shiftType.shiftName,
            SheriffSchedules: shiftType.schedulesLink,
            SheriffDoc:       shiftType.documentationLink,
            ScheduleStart:    jsonType["schedule_start"].(string),
            ScheduleEnd:      jsonType["schedule_end"].(string),
        }); err != nil {
            glog.Errorf("Failed to execute template: %s", err)
            return
        }

        emailSubject := fmt.Sprintf("%s is the next %s", sheriffUsername, shiftType.shiftName)
        if err := sendEmail([]string{sheriffEmail, EXTRA_RECIPIENT}, emailSubject, emailBytes.String()); err != nil {
            glog.Fatalf("Error sending email to sheriff: %s", err)
        }
    }
}
開發者ID:saltmueller,項目名稱:skia-buildbot,代碼行數:57,代碼來源:main.go

示例12: MustInitRequestSaltFromFile

// Call once at startup to read requestSalt from the given file.
func MustInitRequestSaltFromFile(filename string) {
    saltBase64Bytes, err := ioutil.ReadFile(filename)
    if err != nil {
        glog.Fatalf("Could not read the webhook request salt file: %s", err)
    }
    if err = setRequestSaltFromBase64(saltBase64Bytes); err != nil {
        glog.Fatalf("Could not decode salt from %s: %v", filename, err)
    }
}
開發者ID:kleopatra999,項目名稱:skia-buildbot,代碼行數:10,代碼來源:webhook.go

示例13: md5Commits

func md5Commits(store tiling.TileStore, targetHash string, nCommits int) {
    tile, err := store.Get(0, -1)
    if err != nil {
        glog.Fatal("Could not read tile: " + err.Error())
    }

    tileLen := tile.LastCommitIndex() + 1
    commits := tile.Commits[:tileLen]

    // Find the target index.
    endIdx := -1
    for i, v := range commits {
        if strings.HasPrefix(v.Hash, targetHash) {
            endIdx = i
            break
        }
    }
    if endIdx == -1 {
        glog.Fatalf("Unable to find commit %s", targetHash)
    }

    endIdx++
    startIdx := endIdx - nCommits

    traceKeys := make([]string, 0, len(tile.Traces))
    for k, v := range tile.Traces {
        for i := startIdx; i < endIdx; i++ {
            if !v.IsMissing(i) {
                traceKeys = append(traceKeys, k)
                break
            }
        }
    }
    sort.Strings(traceKeys)

    result := make([][]string, len(traceKeys))
    for i, k := range traceKeys {
        switch trace := tile.Traces[k].(type) {
        case *gtypes.GoldenTrace:
            result[i] = trace.Values[startIdx:endIdx]
        case *types.PerfTrace:
            result[i] = asStringSlice(trace.Values[startIdx:endIdx])
        }
    }

    byteStr, err := getBytes(result)
    if err != nil {
        glog.Fatalf("Unable to serialize to bytes: %s", err.Error())
    }

    md5Hash := fmt.Sprintf("%x", md5.Sum(byteStr))

    fmt.Printf("Commit Range    : %s - %s\n", commits[startIdx].Hash, commits[endIdx-1].Hash)
    fmt.Printf("Hash            : %s\n", md5Hash)
    fmt.Printf("Total     traces: %d\n", len(tile.Traces))
    fmt.Printf("Non-empty traces: %d\n", len(traceKeys))
}
開發者ID:kleopatra999,項目名稱:skia-buildbot,代碼行數:57,代碼來源:main.go

示例14: getURL

func getURL(router *mux.Router, name string, pairs ...string) string {
    route := router.Get(name)
    if route == nil {
        glog.Fatalf("Couldn't find any route named %s", name)
    }

    routeURL, err := route.URL(pairs...)
    if err != nil {
        glog.Fatalf("Couldn't resolve route %s into a URL", routeURL)
    }

    return routeURL.String()
}
開發者ID:kleopatra999,項目名稱:skia-buildbot,代碼行數:13,代碼來源:main.go

示例15: main

func main() {
    defer common.LogPanic()
    // Calls flag.Parse()
    common.InitWithMetrics("fuzzer", graphiteServer)

    if err := writeFlagsToConfig(); err != nil {
        glog.Fatalf("Problem with configuration: %s", err)
    }

    Init()

    if err := setupOAuth(); err != nil {
        glog.Fatal(err)
    }

    go func() {
        if err := fcommon.DownloadSkiaVersionForFuzzing(storageClient, config.FrontEnd.SkiaRoot, &config.FrontEnd); err != nil {
            glog.Fatalf("Problem downloading Skia: %s", err)
        }

        fuzzSyncer = syncer.New(storageClient)
        fuzzSyncer.Start()

        cache, err := fuzzcache.New(config.FrontEnd.BoltDBPath)
        if err != nil {
            glog.Fatalf("Could not create fuzz report cache at %s: %s", config.FrontEnd.BoltDBPath, err)
        }
        defer util.Close(cache)

        if err := gsloader.LoadFromBoltDB(cache); err != nil {
            glog.Errorf("Could not load from boltdb.  Loading from source of truth anyway. %s", err)
        }
        var finder functionnamefinder.Finder
        if !*local {
            finder = functionnamefinder.NewAsync()
        }
        gsLoader := gsloader.New(storageClient, finder, cache)
        if err := gsLoader.LoadFreshFromGoogleStorage(); err != nil {
            glog.Fatalf("Error loading in data from GCS: %s", err)
        }
        fuzzSyncer.SetGSLoader(gsLoader)
        updater := frontend.NewVersionUpdater(gsLoader, fuzzSyncer)
        versionWatcher = fcommon.NewVersionWatcher(storageClient, config.FrontEnd.VersionCheckPeriod, updater.HandlePendingVersion, updater.HandleCurrentVersion)
        versionWatcher.Start()

        err = <-versionWatcher.Status
        glog.Fatal(err)
    }()
    runServer()
}
開發者ID:saltmueller,項目名稱:skia-buildbot,代碼行數:50,代碼來源:main.go


注:本文中的github.com/skia-dev/glog.Fatalf函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。