Timbre宏'p'无法解决,但其他Timbre宏可以解决

时间:2014-03-07 02:25:45

标签: clojure profiling timbre

每当我尝试在函数中包含Timbre p语句时,我都会收到错误:

project.clj

 (defproject sketch "0.1.0-SNAPSHOT"
      :description "FIXME: write description"
      :url "http://example.com/FIXME"
      :license {:name "Eclipse Public License"
                :url "http://www.eclipse.org/legal/epl-v10.html"}
      :dependencies [[org.clojure/clojure "1.5.1"]
                     [com.taoensso/timbre "3.1.1"]])

core.clj

(ns user (:require [taoensso.timbre :as timbre])) 
(timbre/refer-timbre)

(defn tst [a]
  (p :tf (+ a a)))

输出(cider / nrepl)

 Unable to resolve symbol: p in this context, compiling:(NO_SOURCE_PATH:2:3)

profilespy等其他Timbre函数/宏工作正常。

2 个答案:

答案 0 :(得分:2)

p性能分析宏is not exposed with refer-timbre,文档似乎已过时。

(require
   '[taoensso.timbre.profiling :as profiling :refer (pspy pspy* profile defnp)])

作为you see herep只是pspy的别名

 (defmacro p [id & body] `(pspy ~id ~@body)) ; Alias

所以你可以改用pspy

答案 1 :(得分:0)

如果您只是对开发time函数所花费的时间感兴趣,那么就足够了。

cd /COMPLIANCE-48/workspace/AutoProfile_Exec/Driver
chmod +x chromedriver