<commit_before>this collector only works with `go1.4.2+`. 

known issues:
---------

* if build with `go1.3rc2`, once you `AddEnglishCounter` with **an invalid path, it will crash the application**, and no where to catch the exception!. `PdhValidatePath` also has the same issue. `go1.4.2` don't have this problem.

      // add an invalid counter path. this will crash application. 
      // with in cygwin env, it shows `segmentation fault`. 
      // under windows, appcrash event log will be generated in application log.
      AddEnglishCounter("\\Processes(_Total)\\Working Set")

      // this is the valid one
      AddEnglishCounter("\\Process(_Total)\\Working Set")


notes
-------
After encountered the `segmentation fault`, I tried a lot of ways to fix it:

* tried to use c to implement all functions, and wrap them with cgo. the bug remains. 
* tried to use c++ to catch exceptions, but always failed while compiling. 
* tried to use signal in c to catch SIGSEGV,SIGABRT, SIGILL, ... but bug remains. 
* accidentially upgraded `go1.3rc2` to `go1.4.2`, bug fixed!
<commit_msg>pdh/readme.md<commit_after>this collector only works with `go1.4.2+`. 

known issues:
---------

* if build with `go1.3rc2`, once you `AddEnglishCounter` with **an invalid path, it will crash the application**, and no where to catch the exception!. `PdhValidatePath` also has the same issue. `go1.4.2` don't have this problem.

      // add an invalid counter path. this will crash application. 
      // with in cygwin env, it shows `segmentation fault`. 
      // under windows, appcrash event log will be generated in application log.
      AddEnglishCounter("\\Processes(_Total)\\Working Set")

      // this is the valid one
      AddEnglishCounter("\\Process(_Total)\\Working Set")


notes
-------
After encountered the `segmentation fault`, I tried a lot of ways to fix it:

* tried to use c to implement all functions, and wrap them with cgo. the bug remains. 
* tried to use c++ to catch exceptions, but always failed while compiling. 
* tried to use signal in c to catch SIGSEGV,SIGABRT, SIGILL, ... but bug remains. 
* accidentially upgraded `go1.3rc2` to `go1.4.2`, bug fixed!

`try_pdh` contains demos to embed c and c++ into go!
{'fraction_non_alphanumeric': 0.10802330793366204, 'fraction_numerical': 0.01344688480502017, 'mean_word_length': 3.219281663516068, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4958996', 'n_tokens_mistral': 656, 'n_tokens_neox': 629, 'n_words': 294}