Come posso vedere il numero di rollback nel mio STM in Clojure?Come posso vedere il numero di rollback nel mio STM in Clojure?
13
A
risposta
17
Non è possibile ... a meno che non si è disposti a barare:
(defmacro spy-dosync [& body]
`(let [retries# (atom -1)
result# (dosync
(swap! retries# inc)
[email protected])]
(println "retries count:" @retries#)
result#))
e quindi sostituire il vostro dosync da una spia-dosync.
5
Se ti senti vivace, puoi hackerare il sorgente Clojure e ricostruire (è easy ricostruire il sorgente Clojure). I tentativi di transazione si verificano in src/jvm/clojure/lang/LockingTransaction.java nel metodo run(). C'è un grande ciclo per lì che va fino al completamento o RETRY_LIMIT. Il valore di i quando il ciclo termina dovrebbe essere il numero di tentativi.
2
C'è STM stress test scritto da Chris Houser che potrebbe essere utile
Problemi correlati
- 1. In che modo Clojure STM differisce da Haskell STM?
- 2. aggiornamento dell'oggetto cache infinispan nel numero di rollback delle transazioni
- 3. Come posso vedere il nome sicuro del mio assembly?
- 4. Come posso vedere il mio commit non premuto locale?
- 5. Come generare un numero lungo in modo casuale nel clojure
- 6. Esperienze con Clojure STM per dataset di grandi dimensioni?
- 7. Come vedere chi consuma il mio webservice
- 8. clojure lein: Come posso includere il codice sorgente da un'altra directory nel mio progetto?
- 9. come posso vedere il piano di esecuzione
- 10. Come posso impostare il numero di thread nel threadpool Quartz.NET?
- 11. Come incrementare di un numero in Clojure?
- 12. È possibile monitorare il livello di contesa di STM?
- 13. Come posso ottenere il numero di core nel dispositivo cuda?
- 14. Come posso memorizzare il nuovo numero di revisione SVN nel mio codice sorgente dopo il commit? (TortoiseSVN)
- 15. Come posso vedere il numero di codice errore compilato nella vista Elenco errori di Visual Studio?
- 16. Vedere il riepilogo convalida nel controller
- 17. OSX - Come posso vedere il TID di tutti i thread del mio processo?
- 18. Come dividere un numero in Clojure?
- 19. Come conoscere il numero di file java nel mio spazio di lavoro in Eclipse?
- 20. Come posso correggere il testo sfocato nel mio canvas HTML5?
- 21. Come posso trovare il numero di visitatori/utenti sul mio sito (IIS7/asp.net) in qualsiasi momento?
- 22. Clojure numero crunch prestazioni
- 23. Come posso salvare il mio oggetto nel mio database in LINQ a SQL?
- 24. Numero di processori in Clojure? Java interop
- 25. Come posso far funzionare il mio XBAP nel mio browser invece di scaricarlo su Windows 7?
- 26. come posso vedere i dati nel file mdf
- 27. Un modo per vedere il numero di abbonati IAP attivi?
- 28. Come eseguire il rollback di un aggiornamento in PostgreSQL
- 29. Utilizzo di Espresso come controllo il numero di elementi nel mio avviso Finestra di dialogo
- 30. Come ospitare il mio servizio WCF nel mio sito web?