本文整理汇总了Golang中code/cloudfoundry/org/lager.Logger.Session方法的典型用法代码示例。如果您正苦于以下问题:Golang Logger.Session方法的具体用法?Golang Logger.Session怎么用?Golang Logger.Session使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类code/cloudfoundry/org/lager.Logger
的用法示例。
在下文中一共展示了Logger.Session方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: NewMetrics
func NewMetrics(logger lager.Logger, backingStoresPath, depotPath string) Metrics {
return &metrics{
backingStoresPath: backingStoresPath,
depotPath: depotPath,
logger: logger.Session("metrics"),
}
}
示例2: DeleteTask
func (db *SQLDB) DeleteTask(logger lager.Logger, taskGuid string) error {
logger = logger.Session("delete-task", lager.Data{"task_guid": taskGuid})
logger.Info("starting")
defer logger.Info("complete")
return db.transact(logger, func(logger lager.Logger, tx *sql.Tx) error {
task, err := db.fetchTaskForUpdate(logger, taskGuid, tx)
if err != nil {
logger.Error("failed-locking-task", err)
return err
}
if task.State != models.Task_Resolving {
err = models.NewTaskTransitionError(task.State, models.Task_Resolving)
logger.Error("invalid-state-transition", err)
return err
}
_, err = db.delete(logger, tx, tasksTable, "guid = ?", taskGuid)
if err != nil {
logger.Error("failed-deleting-task", err)
return db.convertSQLError(err)
}
return nil
})
}
示例3: commonTaskByGuid
func (h *TaskHandler) commonTaskByGuid(logger lager.Logger, w http.ResponseWriter, req *http.Request, version format.Version) {
var err error
logger = logger.Session("task-by-guid", lager.Data{"revision": 0})
request := &models.TaskByGuidRequest{}
response := &models.TaskResponse{}
defer func() { exitIfUnrecoverable(logger, h.exitChan, response.Error) }()
defer writeResponse(w, response)
err = parseRequest(logger, req, request)
if err != nil {
logger.Error("failed-parsing-request", err)
response.Error = models.ConvertError(err)
return
}
response.Task, err = h.controller.TaskByGuid(logger, request.TaskGuid)
if err != nil {
response.Error = models.ConvertError(err)
return
}
if response.Task.TaskDefinition != nil {
response.Task = response.Task.VersionDownTo(version)
}
}
示例4: Unmount
func (r *remoteClient) Unmount(logger lager.Logger, driverId string, volumeId string) error {
logger = logger.Session("mount")
logger.Info("start")
defer logger.Info("end")
unmountRequest := volman.UnmountRequest{driverId, volumeId}
payload, err := json.Marshal(unmountRequest)
if err != nil {
return r.clientError(logger, err, fmt.Sprintf("Error marshalling JSON request %#v", unmountRequest))
}
request, err := r.reqGen.CreateRequest(volman.UnmountRoute, nil, bytes.NewReader(payload))
if err != nil {
return r.clientError(logger, err, fmt.Sprintf("Error creating request to %s", volman.UnmountRoute))
}
response, err := r.HttpClient.Do(request)
if err != nil {
return r.clientError(logger, err, fmt.Sprintf("Error unmounting volume %s", volumeId))
}
if response.StatusCode == 500 {
var remoteError volman.Error
if err := unmarshallJSON(logger, response.Body, &remoteError); err != nil {
return r.clientError(logger, err, fmt.Sprintf("Error parsing 500 response from %s", volman.UnmountRoute))
}
return remoteError
}
return nil
}
示例5: CompleteTask
func (db *SQLDB) CompleteTask(logger lager.Logger, taskGuid, cellID string, failed bool, failureReason, taskResult string) (*models.Task, error) {
logger = logger.Session("complete-task", lager.Data{"task_guid": taskGuid, "cell_id": cellID})
logger.Info("starting")
defer logger.Info("complete")
var task *models.Task
err := db.transact(logger, func(logger lager.Logger, tx *sql.Tx) error {
var err error
task, err = db.fetchTaskForUpdate(logger, taskGuid, tx)
if err != nil {
logger.Error("failed-locking-task", err)
return err
}
if task.CellId != cellID && task.State == models.Task_Running {
logger.Error("failed-task-already-running-on-different-cell", err)
return models.NewRunningOnDifferentCellError(cellID, task.CellId)
}
if err = task.ValidateTransitionTo(models.Task_Completed); err != nil {
logger.Error("failed-to-transition-task-to-completed", err)
return err
}
return db.completeTask(logger, task, failed, failureReason, taskResult, tx)
})
return task, err
}
示例6: failExpiredPendingTasks
func (db *SQLDB) failExpiredPendingTasks(logger lager.Logger, expirePendingTaskDuration time.Duration) int64 {
logger = logger.Session("fail-expired-pending-tasks")
now := db.clock.Now()
result, err := db.update(logger, db.db, tasksTable,
SQLAttributes{
"failed": true,
"failure_reason": "not started within time limit",
"result": "",
"state": models.Task_Completed,
"first_completed_at": now.UnixNano(),
"updated_at": now.UnixNano(),
},
"state = ? AND created_at < ?", models.Task_Pending, now.Add(-expirePendingTaskDuration).UnixNano())
if err != nil {
logger.Error("failed-query", err)
return 0
}
rowsAffected, err := result.RowsAffected()
if err != nil {
logger.Error("failed-rows-affected", err)
return 0
}
return rowsAffected
}
示例7: resolveRestartableCrashedActualLRPS
func (db *ETCDDB) resolveRestartableCrashedActualLRPS(logger lager.Logger, actualLRP *models.ActualLRP, starts *startRequests) func() {
return func() {
actualKey := actualLRP.ActualLRPKey
logger = logger.Session("restart-crash", lager.Data{
"process_guid": actualKey.ProcessGuid,
"index": actualKey.Index,
})
if actualLRP.State != models.ActualLRPStateCrashed {
logger.Error("failed-actual-lrp-state-is-not-crashed", nil)
return
}
logger.Debug("unclaiming-actual-lrp", lager.Data{"process_guid": actualLRP.ActualLRPKey.ProcessGuid, "index": actualLRP.ActualLRPKey.Index})
_, err := db.unclaimActualLRP(logger, &actualLRP.ActualLRPKey, &actualLRP.ActualLRPInstanceKey)
if err != nil {
logger.Error("failed-unclaiming-crash", err)
return
}
logger.Debug("succeeded-unclaiming-actual-lrp")
starts.Add(logger, &actualKey)
}
}
示例8: StartActualLRP
func (h *ActualLRPLifecycleHandler) StartActualLRP(logger lager.Logger, w http.ResponseWriter, req *http.Request) {
var err error
logger = logger.Session("start-actual-lrp")
request := &models.StartActualLRPRequest{}
response := &models.ActualLRPLifecycleResponse{}
defer func() { exitIfUnrecoverable(logger, h.exitChan, response.Error) }()
defer writeResponse(w, response)
err = parseRequest(logger, req, request)
if err != nil {
response.Error = models.ConvertError(err)
return
}
before, after, err := h.db.StartActualLRP(logger, request.ActualLrpKey, request.ActualLrpInstanceKey, request.ActualLrpNetInfo)
if err != nil {
response.Error = models.ConvertError(err)
return
}
if before == nil {
go h.actualHub.Emit(models.NewActualLRPCreatedEvent(after))
} else if !before.Equal(after) {
go h.actualHub.Emit(models.NewActualLRPChangedEvent(before, after))
}
}
示例9: Destroy
// Destroy deletes the container and the bundle directory
func (c *Containerizer) Destroy(log lager.Logger, handle string) error {
log = log.Session("destroy", lager.Data{"handle": handle})
log.Info("started")
defer log.Info("finished")
state, err := c.runtime.State(log, handle)
if err != nil {
log.Info("state-failed-skipping-delete", lager.Data{"error": err.Error()})
return nil
}
log.Info("state", lager.Data{
"state": state,
})
if state.Status == runrunc.CreatedStatus || state.Status == runrunc.StoppedStatus {
if err := c.runtime.Delete(log, handle); err != nil {
log.Error("delete-failed", err)
return err
}
}
return nil
}
示例10: RemoveActualLRP
func (h *ActualLRPLifecycleHandler) RemoveActualLRP(logger lager.Logger, w http.ResponseWriter, req *http.Request) {
var err error
logger = logger.Session("remove-actual-lrp")
request := &models.RemoveActualLRPRequest{}
response := &models.ActualLRPLifecycleResponse{}
defer func() { exitIfUnrecoverable(logger, h.exitChan, response.Error) }()
defer writeResponse(w, response)
err = parseRequest(logger, req, request)
if err != nil {
response.Error = models.ConvertError(err)
return
}
beforeActualLRPGroup, err := h.db.ActualLRPGroupByProcessGuidAndIndex(logger, request.ProcessGuid, request.Index)
if err != nil {
response.Error = models.ConvertError(err)
return
}
err = h.db.RemoveActualLRP(logger, request.ProcessGuid, request.Index, request.ActualLrpInstanceKey)
if err != nil {
response.Error = models.ConvertError(err)
return
}
go h.actualHub.Emit(models.NewActualLRPRemovedEvent(beforeActualLRPGroup))
}
示例11: ClaimActualLRP
func (h *ActualLRPLifecycleHandler) ClaimActualLRP(logger lager.Logger, w http.ResponseWriter, req *http.Request) {
var err error
logger = logger.Session("claim-actual-lrp")
request := &models.ClaimActualLRPRequest{}
response := &models.ActualLRPLifecycleResponse{}
defer func() { exitIfUnrecoverable(logger, h.exitChan, response.Error) }()
defer writeResponse(w, response)
err = parseRequest(logger, req, request)
if err != nil {
response.Error = models.ConvertError(err)
return
}
before, after, err := h.db.ClaimActualLRP(logger, request.ProcessGuid, request.Index, request.ActualLrpInstanceKey)
if err != nil {
response.Error = models.ConvertError(err)
return
}
if !after.Equal(before) {
go h.actualHub.Emit(models.NewActualLRPChangedEvent(before, after))
}
}
示例12: Metrics
func (p *ExternalImageManager) Metrics(log lager.Logger, _, rootfs string) (garden.ContainerDiskStat, error) {
log = log.Session("image-plugin-metrics", lager.Data{"rootfs": rootfs})
log.Debug("start")
defer log.Debug("end")
imagePath := filepath.Dir(rootfs)
cmd := exec.Command(p.binPath, "stats", imagePath)
cmd.Stderr = lagregator.NewRelogger(log)
outBuffer := bytes.NewBuffer([]byte{})
cmd.Stdout = outBuffer
if err := p.commandRunner.Run(cmd); err != nil {
logData := lager.Data{"action": "stats", "stderr": outBuffer.String()}
log.Error("external-image-manager-result", err, logData)
return garden.ContainerDiskStat{}, fmt.Errorf("external image manager metrics failed: %s (%s)", outBuffer.String(), err)
}
var metrics map[string]map[string]uint64
if err := json.NewDecoder(outBuffer).Decode(&metrics); err != nil {
return garden.ContainerDiskStat{}, fmt.Errorf("parsing metrics: %s", err)
}
return garden.ContainerDiskStat{
TotalBytesUsed: metrics["disk_usage"]["total_bytes_used"],
ExclusiveBytesUsed: metrics["disk_usage"]["exclusive_bytes_used"],
}, nil
}
示例13: DiffSize
func (a *AUFSDiffSizer) DiffSize(logger lager.Logger, containerRootFSPath string) (uint64, error) {
_, err := os.Stat(containerRootFSPath)
if os.IsNotExist(err) {
return 0, fmt.Errorf("get usage: %s", err)
}
log := logger.Session("diff-size", lager.Data{"path": containerRootFSPath})
log.Debug("start")
command := fmt.Sprintf("df -B 1 %s | tail -n1 | awk -v N=3 '{print $N}'", a.AUFSDiffPathFinder.GetDiffLayerPath((containerRootFSPath)))
outbytes, err := exec.Command("sh", "-c", command).CombinedOutput()
if err != nil {
log.Error("df-failed", err)
return 0, fmt.Errorf("get usage: df: %s, %s", err, string(outbytes))
}
var bytesUsed uint64
if _, err := fmt.Sscanf(string(outbytes), "%d", &bytesUsed); err != nil {
log.Error("scanf-failed", err, lager.Data{"out": string(outbytes)})
return 0, nil
}
log.Debug("finished", lager.Data{"bytes": bytesUsed})
return bytesUsed, nil
}
示例14: mountCgroup
func (s *CgroupStarter) mountCgroup(logger lager.Logger, cgroupPath, subsystems string) error {
logger = logger.Session("mount-cgroup", lager.Data{
"path": cgroupPath,
"subsystems": subsystems,
})
logger.Info("started")
if !s.isMountPoint(cgroupPath) {
if err := os.MkdirAll(cgroupPath, 0755); err != nil {
return fmt.Errorf("mkdir '%s': %s", cgroupPath, err)
}
cmd := exec.Command("mount", "-n", "-t", "cgroup", "-o", subsystems, "cgroup", cgroupPath)
cmd.Stderr = logging.Writer(logger.Session("mount-cgroup-cmd"))
if err := s.CommandRunner.Run(cmd); err != nil {
return fmt.Errorf("mounting subsystems '%s' in '%s': %s", subsystems, cgroupPath, err)
}
} else {
logger.Info("subsystems-already-mounted")
}
logger.Info("finished")
return nil
}
示例15: Up
func (e *IncreaseRunInfoColumnSize) Up(logger lager.Logger) error {
logger = logger.Session("increase-run-info-column")
logger.Info("starting")
defer logger.Info("completed")
return alterTables(logger, e.rawSQLDB, e.dbFlavor)
}