php小编鱼仔为您介绍“原型的无效解组”。在软件开发中,原型是一个重要的概念,用于快速验证和展示设计想法。然而,有时候原型被认为是无效的,因为它可能没有达到预期的目标或无法满足用户需求。这种情况下,我们需要对原型进行无效解组,找出问题所在,并寻找解决方案。本文将探讨原型无效解组的重要性以及如何有效地进行解组工作。
我正在尝试解码原始数据。但原型未正确解码。
这就是我正在做的事情:
decodedstr, err := base64.stdencoding.decodestring(request.body) if err != nil { panic("malformed input") } data := &tracepb.exporttraceservicerequest{} if err := proto.unmarshal(decodedstr, data); err != nil { log.fatalln("failed to parse:", err) } log.printf("response - %v", data)
输出如下:
response - resource_spans:{resource:{attributes:{key:"service.name" value:{string_value:"node_app"}} attributes:{key:"telemetry.sdk.language" value:{string_value:"nodejs"}} attributes:{key:"telemetry.sdk.name" value:{string_value:"opentelemetry"}} attributes:{key:"telemetry.sdk.version" value:{string_value:"1.8.0"}} attributes:{key:"process.pid" value:{int_value:1}} attributes:{key:"process.executable.name" value:{string_value:"node"}} attributes:{key:"process.command" value:{string_value:"/usr/app/index.js"}} attributes:{key:"process.command_line" value:{string_value:"/usr/local/bin/node /usr/app/index.js"}} attributes:{key:"process.runtime.version" value:{string_value:"18.13.0"}} attributes:{key:"process.runtime.name" value:{string_value:"nodejs"}} attributes:{key:"process.runtime.description" value:{string_value:"node.js"}}} scope_spans:{scope:{name:"@opentelemetry/instrumentation-express" version:"0.32.0"} spans:{trace_id:"\xb5\x81\x91\x8b\x02\x9a/\xf1\x08\x06\xaf~\xea\x9fq\xc0" span_id:"t\x06\x89m\x1ex\xf9a" parent_span_id:"?\xbc\x18`o\xa5\xb8\xe1" name:"middleware - query" kind:span_kind_internal start_time_unix_nano:1673434036590614272 end_time_unix_nano:1673434036590671104 attributes:{key:"http.route" value:{string_value:"/"}} attributes:{key:"express.name" value:{string_value:"query"}} attributes:{key:"express.type" value:{string_value:"middleware"}} status:{}} spans:{trace_id:"\xb5\x81\x91\x8b\x02\x9a/\xf1\x08\x06\xaf~\xea\x9fq\xc0" span_id:"\xd5c\xf7>\xf6cxz" parent_span_id:"?\xbc\x18`o\xa5\xb8\xe1" name:"middleware - expressinit" kind:span_kind_internal start_time_unix_nano:1673434036590760704
不知道为什么traceid会这样显示:
spans:{trace_id:"\xb5\x81\x91\x8b\x02\x9a/\xf1\x08\x06\xaf~\xea\x9fQ\xc0"
我是 go 语言新手。任何帮助将不胜感激
使用encoding/hex
模块的hex.EncodeToString()
函数将bytes
转换为hex
以上是原型的无效解组的详细内容。更多信息请关注PHP中文网其他相关文章!