我有一个用Go编写的相对较大的Web应用程序,它使用Gorilla的多路复用器进行路由.我最近意识到我的Web应用程序非常慢,我想分析Web应用程序.
阅读之后,似乎net/http/pprof就是我所需要的.但我不能让它与多路复用器一起运行; 即使是最琐碎的Web应用程序.
有谁知道如何使这项工作?
这是一个不起作用的简单代码的例子(即什么都没有服务/debug).
package main
import (
"fmt"
"github.com/gorilla/mux"
"math"
"net/http"
)
import _ "net/http/pprof"
func SayHello(w http.ResponseWriter, r *http.Request) {
for i := 0; i < 1000000; i++ {
math.Pow(36, 89)
}
fmt.Fprint(w, "Hello!")
}
func main() {
r := mux.NewRouter()
r.HandleFunc("/hello", SayHello)
http.ListenAndServe(":6060", r)
}
Run Code Online (Sandbox Code Playgroud) 我有一个包含math/big.Int字段的结构.我想使用mgo在mongodb中保存结构.在我的情况下,将数字保存为字符串就足够了.
我查看了可用字段的标签,没有任何接缝以允许自定义序列化程序.我期望实现类似的接口,encoding/json.Marshaler但我在文档中找不到这样的接口.
这是我想要的一个简单的例子.
package main
import (
"labix.org/v2/mgo"
"math/big"
)
type Point struct {
X, Y *big.Int
}
func main() {
session, err := mgo.Dial("localhost")
if err != nil {
panic(err)
}
defer session.Close()
c := session.DB("test").C("test")
err = c.Insert(&Point{big.NewInt(1), big.NewInt(1)})
if err != nil { // should not panic
panic(err)
}
// The code run as expected but the fields X and Y are empty in mongo
}
Run Code Online (Sandbox Code Playgroud)
Thnaks!
如何在输入流中包装一个字符串,以便我可以测试下面的函数?
(defn parse-body [body]
(cheshire/parse-stream (clojure.java.io/reader body) true))
(deftest test-parse-body
(testing "read body"
(let [body "{\"age\": 28}"] ;; must wrap string
(is (= (parse-body body) {:age 28}))
)))
Run Code Online (Sandbox Code Playgroud) 如何使用该os.Mkdir方法创建具有正常权限的目录(例如,以八进制表示法的0700).我没有找到如何perm正确设置值.
我想制作一个chrome扩展,它只是提供来自定义目录的静态内容.像往常一样,静态目录将位于扩展存储库中.
我想在一个完整的标签中打开扩展程序.例如,我的油脂 - 猴子延伸部分是一个带有以网址开头的标签chrome-extension://.标签是阻止我的这个要求.
有人知道这样一个插件的例子吗?一个世界您好在新标签页的扩展会适合我的需要.
在 Mongodb (2.6.1) 中,我需要_id使用纯json(不使用 ObjectIds)来查询文档。正如mongodb 扩展 json 中提到的,我期待db.collection.findOne({"_id": {"$oid": "51b6eab8cd794eb62bb3e131"}})工作,但它没有。它甚至抛出以下异常。
无法规范化查询:BadValue 未知运算符:$oid
有谁知道怎么做?