def save(self, callables_fname):
<EOL>_validate_fname(callables_fname)<EOL>items = self._reverse_callables_db.items()<EOL>fdict = {<EOL>"<STR_LIT>": self._callables_db,<EOL>"<STR_LIT>": dict([(str(k), v) for k, v in items]),<EOL>"<STR_LIT>": self._modules_dict,<EOL>"<STR_LIT>": self._fnames,<EOL>"<STR_LIT>": self._module_names,<EOL>"<STR_LIT>": self._class_names,<EOL>}<EOL>with open(callables_fname, "<STR_LIT:w>") as fobj:<EOL><INDENT>json.dump(fdict, fobj)<EOL><DEDENT>
r"""
        Save traced modules information to a `JSON`_ file.

        If the file exists it is overwritten

        :param callables_fname: File name
        :type  callables_fname: :ref:`FileName`

        :raises: RuntimeError (Argument \\`fname\\` is not valid)